禁用默认命名空间
Disabling default namespaces
Rust 似乎默认 use
一些命名空间。例如,我不必使用 std::string::String
,只需键入 String
。如何定义自己的 struct String
而不与 std::string::String
冲突?我在哪里可以找到默认包含的命名空间列表?
不是'default namespaces'的问题,是the prelude的问题。
您可以创建自己的 String
通过...创建您自己的字符串:
struct String {
len: u8,
}
fn main() {}
然后您可以使用完全限定的路径来消除您想要 String
的歧义:
fn main() {
// String::new();
// error: type `String` does not implement any method in scope named `new`
std::string::String::new();
}
可以找到自动导入项目的完整列表 in the prelude(版本 1,在撰写本文时)。
Rust 似乎默认 use
一些命名空间。例如,我不必使用 std::string::String
,只需键入 String
。如何定义自己的 struct String
而不与 std::string::String
冲突?我在哪里可以找到默认包含的命名空间列表?
不是'default namespaces'的问题,是the prelude的问题。
您可以创建自己的 String
通过...创建您自己的字符串:
struct String {
len: u8,
}
fn main() {}
然后您可以使用完全限定的路径来消除您想要 String
的歧义:
fn main() {
// String::new();
// error: type `String` does not implement any method in scope named `new`
std::string::String::new();
}
可以找到自动导入项目的完整列表 in the prelude(版本 1,在撰写本文时)。