为什么在某些情况下,use语句在Rust中不起作用?

时间:2017-10-10 20:07:19

标签: rust

我一直在努力让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正在玩我一样,我正处于疯狂的边缘?

0 个答案:

没有答案