diff options
| author | Matthew Jasper <mjjasper1@gmail.com> | 2019-08-25 22:36:13 +0100 |
|---|---|---|
| committer | Matthew Jasper <mjjasper1@gmail.com> | 2019-09-05 15:07:16 +0100 |
| commit | 846df20578189260ed3f4c9c824d324b6c9b7eac (patch) | |
| tree | ccac33041bef42d7aa58654c41a5db806a439eab | |
| parent | beb2f5b8ff89f3e973e085ce338a59e5203fecb0 (diff) | |
| download | rust-846df20578189260ed3f4c9c824d324b6c9b7eac.tar.gz rust-846df20578189260ed3f4c9c824d324b6c9b7eac.zip | |
Fix 2018 edition expanded pretty printing
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 4dc00af4860..c18c8c18ae1 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -128,10 +128,14 @@ pub fn print_crate<'a>(cm: &'a SourceMap, let fake_attr = attr::mk_attr_inner(list); s.print_attribute(&fake_attr); - // #![no_std] - let no_std_meta = attr::mk_word_item(ast::Ident::with_dummy_span(sym::no_std)); - let fake_attr = attr::mk_attr_inner(no_std_meta); - s.print_attribute(&fake_attr); + // Currently on Rust 2018 we don't have `extern crate std;` at the crate + // root, so this is not needed, and actually breaks things. + if sess.edition == syntax_pos::edition::Edition::Edition2015 { + // #![no_std] + let no_std_meta = attr::mk_word_item(ast::Ident::with_dummy_span(sym::no_std)); + let fake_attr = attr::mk_attr_inner(no_std_meta); + s.print_attribute(&fake_attr); + } } s.print_mod(&krate.module, &krate.attrs); |
