Rust 为什么这个锈迹导入需要“self”?

Rust 为什么这个锈迹导入需要“self”?,rust,Rust,我的程序顶部有以下一组导入: extern crate serde_bencode; extern crate serde; extern crate serde_bytes; extern crate url; extern crate url_serde; use serde_bytes::ByteBuf; use serde_bencode::de; use serde_bencode::error::Result; use serde_bencode::Error::{Custom,

我的程序顶部有以下一组导入:

extern crate serde_bencode;
extern crate serde;
extern crate serde_bytes;
extern crate url;
extern crate url_serde;

use serde_bytes::ByteBuf;
use serde_bencode::de;
use serde_bencode::error::Result;
use serde_bencode::Error::{Custom, InvalidLength};
use self::url::{Url};
该程序目前不编译。但是,我不明白为什么我需要在
使用self::url::{url}上写
self
行。其他
使用的
语句都不需要
self
-为什么
url

对于上下文,上面的代码段来自一个名为
file\u reader.rs
的文件,该文件位于具有以下结构的目录中:

roar/
    file_reader.rs
    main.rs
    lib.rs

编辑:我刚刚注意到,如果我添加行
extern-crateurl
lib.rs
,那么我就不需要
self
;但是,我不知道为什么需要执行此步骤。

在我的程序顶部-此代码在哪个文件中?添加了更多信息/目录结构。在我的程序顶部-此代码在哪个文件中?添加了更多信息/目录结构。