Я работаю над личным проектом, который пытался решить с помощью канонизации относительного пути в Rust. Однако всякий раз, когда я это делаю, новый путь имеет префикс со странной последовательностью \\?\
. Например, что-то такое простое, как:
let p = fs::canonicalize(".").unwrap();
println!("{}", p.display());
приведет к чему-то вроде следующего вывода:
\\?\C:\Users\[...]\rustprojects\projectname
Это не особая проблема, потому что я могу выполнить то, что пытаюсь, другими способами. Однако это кажется странным поведением, особенно если вы собираетесь использовать строковую форму пути каким-то образом, требующим точности. Почему эта последовательность символов предшествует результату и как этого избежать?