diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:02:58 +0000 |
commit | 698f8c2f01ea549d77d7dc3338a12e04c11057b9 (patch) | |
tree | 173a775858bd501c378080a10dca74132f05bc50 /compiler/rustc_error_codes/src/error_codes/E0432.md | |
parent | Initial commit. (diff) | |
download | rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.tar.xz rustc-698f8c2f01ea549d77d7dc3338a12e04c11057b9.zip |
Adding upstream version 1.64.0+dfsg1.upstream/1.64.0+dfsg1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | compiler/rustc_error_codes/src/error_codes/E0432.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0432.md b/compiler/rustc_error_codes/src/error_codes/E0432.md new file mode 100644 index 000000000..2920e2623 --- /dev/null +++ b/compiler/rustc_error_codes/src/error_codes/E0432.md @@ -0,0 +1,47 @@ +An import was unresolved. + +Erroneous code example: + +```compile_fail,E0432 +use something::Foo; // error: unresolved import `something::Foo`. +``` + +In Rust 2015, paths in `use` statements are relative to the crate root. To +import items relative to the current and parent modules, use the `self::` and +`super::` prefixes, respectively. + +In Rust 2018 or later, paths in `use` statements are relative to the current +module unless they begin with the name of a crate or a literal `crate::`, in +which case they start from the crate root. As in Rust 2015 code, the `self::` +and `super::` prefixes refer to the current and parent modules respectively. + +Also verify that you didn't misspell the import name and that the import exists +in the module from where you tried to import it. Example: + +``` +use self::something::Foo; // Ok. + +mod something { + pub struct Foo; +} +# fn main() {} +``` + +If you tried to use a module from an external crate and are using Rust 2015, +you may have missed the `extern crate` declaration (which is usually placed in +the crate root): + +```edition2015 +extern crate core; // Required to use the `core` crate in Rust 2015. + +use core::any; +# fn main() {} +``` + +Since Rust 2018 the `extern crate` declaration is not required and +you can instead just `use` it: + +```edition2018 +use core::any; // No extern crate required in Rust 2018. +# fn main() {} +``` |