我一直在努力让Rust的use
陈述发挥作用。
我所做的只是复制some code我发现,根据我的需要更改它并完成它,但无论出于何种原因,我复制的代码在添加到我的测试代码时都无效!
这是我想要使用的代码:
use difference::{Difference, Changeset};
let Changeset { diffs, .. } = Changeset::new(text1, text2, "\n");
我将extern crate difference;
添加到此文件的顶部,并将difference = "0.4"
添加到我的toml文件中,因此我非常确定它会起作用!
但是没有......我收到了这个错误:
use difference::{Difference, Changeset};
^^^^^^^^^^ Did you mean `self::difference`?
我的意思是Difference
因为原始代码似乎有用!!
为了更多地测试一下,我写了这个:
println!("{:?}", &difference::Difference::Add("hi".to_string()));
这很有用......所以我想我只会use
Add
:
use difference::Difference::Add;
println!("{:?}", &Add("hi".to_string()));
这根本不起作用。
use difference::Difference::Add;
^^^^^^^^^^^^^^^^^^^^^^^^^^^ Did you mean `self::difference::Difference`?
这感觉就像一个恶作剧...所以,现在Rust突然知道Difference
!?!?
我究竟做错了什么?我怎样才能自信地use
一些东西并理解它(我已经读过the book相关部分十次,没有帮助)?为什么我的假设如此错误,以至于这就像Rust正在玩我一样,我正处于疯狂的边缘?