diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-10-26 01:39:47 +0300 |
|---|---|---|
| committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-12-01 14:38:47 +0300 |
| commit | 549bd45e9eb13e501416e17887b65ad4189ebe6b (patch) | |
| tree | 15de266b8c52d7b39700d344996438d3433dc66b /src/libsyntax/parse/parser.rs | |
| parent | d3ed34824c31f303b98855fee6fc9213dff1f295 (diff) | |
| download | rust-549bd45e9eb13e501416e17887b65ad4189ebe6b.tar.gz rust-549bd45e9eb13e501416e17887b65ad4189ebe6b.zip | |
resolve: Support aliasing local crate root in extern prelude
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index f13bb7df0b4..33715f206de 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -6783,7 +6783,11 @@ impl<'a> Parser<'a> { let error_msg = "crate name using dashes are not valid in `extern crate` statements"; let suggestion_msg = "if the original crate name uses dashes you need to use underscores \ in the code"; - let mut ident = self.parse_ident()?; + let mut ident = if self.token.is_keyword(keywords::SelfValue) { + self.parse_path_segment_ident() + } else { + self.parse_ident() + }?; let mut idents = vec![]; let mut replacement = vec![]; let mut fixed_crate_name = false; |
