Rust, по-видимому, use
по некоторым пространствам имен. Например, мне не нужно использовать std::string::String
и просто введите String
. Как я могу определить свой собственный struct String
без столкновения с std::string::String
? И где я могу найти список пространств имен, которые включены по умолчанию?Отключение пространств имен по умолчанию
4
A
ответ
5
Вы можете создать свой собственный 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, на момент написания).
6
Это не вопрос «пространства имен по умолчанию», это the prelude.