about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-03-07 23:08:21 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-03-17 11:50:38 +0000
commitae4e1082d4502d1859e44ebe3aff99a6fb53f05b (patch)
tree6ddfc30f8c07f1f80ca28c3a3dc9e19313bef26a
parentd5880fff990ced4815130582e68c9036d7cf7dcb (diff)
downloadrust-ae4e1082d4502d1859e44ebe3aff99a6fb53f05b.tar.gz
rust-ae4e1082d4502d1859e44ebe3aff99a6fb53f05b.zip
Disallow methods from shadowed traits
-rw-r--r--src/librustc_resolve/resolve_imports.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs
index c2b665b3b4c..3357926f623 100644
--- a/src/librustc_resolve/resolve_imports.rs
+++ b/src/librustc_resolve/resolve_imports.rs
@@ -743,9 +743,9 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> {
                 }
             }
 
-            // FIXME #31379: We can use methods from imported traits shadowed by non-import items
-            if !binding.is_import() {
-                for glob_binding in resolution.duplicate_globs.iter() {
+            // We can always use methods from the prelude traits
+            for glob_binding in resolution.duplicate_globs.iter() {
+                if glob_binding.defined_with(DefModifiers::PRELUDE) {
                     module.shadowed_traits.borrow_mut().push(glob_binding);
                 }
             }