Код
use std::{
fs::self,
io::self,
};
fn rmdir(path: impl AsRef<std::path::Path>) -> io::Result<()> {
fs::remove_dir(path)
}
Ошибка
error[E0430]: `self` import can only appear once in an import list
--> src/lib.rs:2:5
|
2 | fs::self,
| ^^^^^^^^ can only appear once in an import list
3 | io::self,
| -------- another `self` import appears here
( Детская площадка )
Почему я не могу написать module::self
с двумя разными модулями? Я подумал, что мог бы use
модули с ::self
, чтобы прояснить, что это модули, а не функции.
Если я добавлю фигурную скобку, то это разрешено:
use std::{
fs::{self},
io::{self},
};
Есть ли веская причина для этого, или это ошибка компилятора / дефект дизайна языка?