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] |
||
---|---|---|
.. | ||
args-fail.rs | ||
assert-as-macro.rs | ||
assert-eq-macro-fail.rs | ||
assert-macro-explicit.rs | ||
assert-macro-fmt.rs | ||
assert-macro-owned.rs | ||
assert-macro-static.rs | ||
binop-fail-3.rs | ||
binop-fail.rs | ||
bounds-check-no-overflow.rs | ||
bug-811.rs | ||
bug-2470-bounds-check-overflow-2.rs | ||
bug-2470-bounds-check-overflow-3.rs | ||
bug-2470-bounds-check-overflow.rs | ||
by-value-self-objects-fail.rs | ||
die-macro-expr.rs | ||
die-macro-pure.rs | ||
die-macro.rs | ||
divide-by-zero.rs | ||
doublefail.rs | ||
explicit-fail-msg.rs | ||
explicit-fail.rs | ||
expr-fn-fail.rs | ||
expr-if-fail-fn.rs | ||
expr-if-fail.rs | ||
expr-match-fail-fn.rs | ||
expr-match-fail.rs | ||
extern-fail.rs | ||
fail-arg.rs | ||
fail-macro-any-wrapped.rs | ||
fail-macro-any.rs | ||
fail-macro-explicit.rs | ||
fail-macro-fmt.rs | ||
fail-macro-owned.rs | ||
fail-macro-static.rs | ||
fail-main.rs | ||
fail-parens.rs | ||
fail-task-name-none.rs | ||
fail-task-name-owned.rs | ||
fail-task-name-send-str.rs | ||
fail-task-name-static.rs | ||
fail.rs | ||
fmt-fail.rs | ||
for-each-loop-fail.rs | ||
glob-use-std.rs | ||
if-check-fail.rs | ||
if-cond-bot.rs | ||
issue-948.rs | ||
issue-2061.rs | ||
issue-2272.rs | ||
issue-2444.rs | ||
issue-2761.rs | ||
issue-3029.rs | ||
issue-5500.rs | ||
main-fail.rs | ||
match-bot-fail.rs | ||
match-disc-bot.rs | ||
match-wildcards.rs | ||
mod-zero.rs | ||
native-failure.rs | ||
result-get-fail.rs | ||
rhs-type.rs | ||
rt-set-exit-status-fail2.rs | ||
rt-set-exit-status-fail.rs | ||
rt-set-exit-status.rs | ||
run-unexported-tests.rs | ||
str-overrun.rs | ||
task-spawn-barefn.rs | ||
test-fail.rs | ||
test-tasks-invalid-value.rs | ||
tls-exit-status.rs | ||
too-much-recursion-unwinding.rs | ||
unimplemented-macro-fail.rs | ||
unique-fail.rs | ||
unreachable-macro-fail.rs | ||
unwind-assert.rs | ||
unwind-box-fn-unique.rs | ||
unwind-box-res.rs | ||
unwind-box-str.rs | ||
unwind-box-unique-unique.rs | ||
unwind-box-unique.rs | ||
unwind-box-vec.rs | ||
unwind-box.rs | ||
unwind-fail.rs | ||
unwind-initializer-indirect.rs | ||
unwind-initializer.rs | ||
unwind-interleaved.rs | ||
unwind-iter2.rs | ||
unwind-iter.rs | ||
unwind-lambda.rs | ||
unwind-match.rs | ||
unwind-misc-1.rs | ||
unwind-move.rs | ||
unwind-nested.rs | ||
unwind-partial-box.rs | ||
unwind-partial-unique.rs | ||
unwind-partial-vec.rs | ||
unwind-rec2.rs | ||
unwind-rec.rs | ||
unwind-resource-fail2.rs | ||
unwind-resource-fail3.rs | ||
unwind-resource-fail.rs | ||
unwind-stacked.rs | ||
unwind-tup2.rs | ||
unwind-tup.rs | ||
unwind-uninitialized.rs | ||
unwind-unique.rs | ||
vec-overrun.rs | ||
while-body-fails.rs | ||
while-fail.rs |