7f928d150e
declared with the same name in the same scope. This breaks several common patterns. First are unused imports: use foo::bar; use baz::bar; Change this code to the following: use baz::bar; Second, this patch breaks globs that import names that are shadowed by subsequent imports. For example: use foo::*; // including `bar` use baz::bar; Change this code to remove the glob: use foo::{boo, quux}; use baz::bar; Or qualify all uses of `bar`: use foo::{boo, quux}; use baz; ... baz::bar ... Finally, this patch breaks code that, at top level, explicitly imports `std` and doesn't disable the prelude. extern crate std; Because the prelude imports `std` implicitly, there is no need to explicitly import it; just remove such directives. The old behavior can be opted into via the `import_shadowing` feature gate. Use of this feature gate is discouraged. This implements RFC #116. Closes #16464. [breaking-change] |
||
---|---|---|
.. | ||
deriving | ||
tt | ||
asm.rs | ||
base.rs | ||
build.rs | ||
bytes.rs | ||
cfg.rs | ||
concat_idents.rs | ||
concat.rs | ||
env.rs | ||
expand.rs | ||
fmt.rs | ||
format.rs | ||
log_syntax.rs | ||
mtwt.rs | ||
quote.rs | ||
source_util.rs | ||
trace_macros.rs |