about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-05-21 22:35:39 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2017-05-25 05:52:13 +0000
commitb13392f77151c8fe83c8ac9e4d29a24702df5f4e (patch)
treefa9aa02e7e02995ed7f09ed5f2e44ee7b8e2d6f5 /src
parent754fdad4a878340bb90a10f0072e6d4891d63c70 (diff)
downloadrust-b13392f77151c8fe83c8ac9e4d29a24702df5f4e.tar.gz
rust-b13392f77151c8fe83c8ac9e4d29a24702df5f4e.zip
Improve `Self`.
Diffstat (limited to 'src')
-rw-r--r--src/librustc_resolve/lib.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs
index 552023d022f..f1be821d526 100644
--- a/src/librustc_resolve/lib.rs
+++ b/src/librustc_resolve/lib.rs
@@ -1519,7 +1519,11 @@ impl<'a> Resolver<'a> {
                                       path_span: Span)
                                       -> Option<LexicalScopeBinding<'a>> {
         if ns == TypeNS {
-            ident.ctxt = ident.ctxt.modern();
+            ident.ctxt = if ident.name == keywords::SelfType.name() {
+                SyntaxContext::empty() // FIXME(jseyfried) improve `Self` hygiene
+            } else {
+                ident.ctxt.modern()
+            }
         }
 
         // Walk backwards up the ribs in scope.