diff options
| author | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-12-21 05:31:07 +0000 |
|---|---|---|
| committer | Jeffrey Seyfried <jeffrey.seyfried@gmail.com> | 2016-12-22 06:14:36 +0000 |
| commit | 8a1acb2c690eeb11b5c3f2a26bf2d68741ed5844 (patch) | |
| tree | 0666643f308f17439cd6fd920b38729d54a24963 | |
| parent | f10f50b42639718b2580d10802f05f2b6ff209d5 (diff) | |
| download | rust-8a1acb2c690eeb11b5c3f2a26bf2d68741ed5844.tar.gz rust-8a1acb2c690eeb11b5c3f2a26bf2d68741ed5844.zip | |
Pretty-print `$crate::foo::bar` as `::foo::bar`.
| -rw-r--r-- | src/librustc/hir/print.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 3 | ||||
| -rw-r--r-- | src/test/pretty/issue-4264.pp | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/librustc/hir/print.rs b/src/librustc/hir/print.rs index de4047df81c..100e344d941 100644 --- a/src/librustc/hir/print.rs +++ b/src/librustc/hir/print.rs @@ -1647,7 +1647,7 @@ impl<'a> State<'a> { if i > 0 { word(&mut self.s, "::")? } - if segment.name != keywords::CrateRoot.name() { + if segment.name != keywords::CrateRoot.name() && segment.name != "$crate" { self.print_name(segment.name)?; self.print_path_parameters(&segment.parameters, colons_before_params)?; } @@ -1674,7 +1674,7 @@ impl<'a> State<'a> { if i > 0 { word(&mut self.s, "::")? } - if segment.name != keywords::CrateRoot.name() { + if segment.name != keywords::CrateRoot.name() && segment.name != "$crate" { self.print_name(segment.name)?; self.print_path_parameters(&segment.parameters, colons_before_params)?; } diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index e9c1cbcba61..7558f0256da 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -2351,7 +2351,8 @@ impl<'a> State<'a> { if i > 0 { try!(word(&mut self.s, "::")) } - if segment.identifier.name != keywords::CrateRoot.name() { + if segment.identifier.name != keywords::CrateRoot.name() && + segment.identifier.name != "$crate" { try!(self.print_ident(segment.identifier)); if let Some(ref parameters) = segment.parameters { try!(self.print_path_parameters(parameters, colons_before_params)); diff --git a/src/test/pretty/issue-4264.pp b/src/test/pretty/issue-4264.pp index fdb7f9c68b9..6c74e7758c4 100644 --- a/src/test/pretty/issue-4264.pp +++ b/src/test/pretty/issue-4264.pp @@ -39,7 +39,7 @@ pub fn bar() ({ - (($crate::fmt::format as + ((::fmt::format as fn(std::fmt::Arguments<'_>) -> std::string::String {std::fmt::format})(((<::std::fmt::Arguments>::new_v1 as fn(&[&str], &[std::fmt::ArgumentV1<'_>]) -> std::fmt::Arguments<'_> {std::fmt::Arguments<'_>::new_v1})(({ |
