diff options
| author | bors <bors@rust-lang.org> | 2019-04-13 22:24:33 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-04-13 22:24:33 +0000 |
| commit | 00856722bad5e9d96048319fb41f4b7e249820cd (patch) | |
| tree | 9c813b5a9ac58b59d765a510e2f03c84446b6962 /src/libsyntax | |
| parent | e4c66afba5d69356879570aeff22db5a38566a86 (diff) | |
| parent | cf370b40dc9955ed3cff90f94b96507513ad6ded (diff) | |
| download | rust-00856722bad5e9d96048319fb41f4b7e249820cd.tar.gz rust-00856722bad5e9d96048319fb41f4b7e249820cd.zip | |
Auto merge of #59949 - Centril:rollup-lsiqq1g, r=Centril
Rollup of 16 pull requests
Successful merges:
- #59675 (Stabilize the `alloc` crate.)
- #59708 (Mark variables captured by reference as mutable correctly)
- #59735 (remove lookup_char_pos_adj)
- #59747 (Copy book.toml unstable book generator)
- #59796 (Retire `IsNotConst` naming)
- #59804 (Clean up jobserver integration)
- #59818 (Eliminate `FnBox` usages from libstd.)
- #59830 (Fix links on keyword docs.)
- #59835 (Re-export NonZero signed variant in std)
- #59852 (std: Add `{read,write}_vectored` for more types)
- #59855 (Fix attributes position in type declaration)
- #59858 (Make duplicate matcher bindings a hard error)
- #59899 (In `-Zprint-type-size` output, sort enum variants by size.)
- #59912 (MaybeUninit: remove deprecated functions)
- #59925 (Fix paste error in split_ascii_whitespace docs.)
- #59930 (Exclude some copies of old book editions from search engines)
Failed merges:
r? @ghost
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/diagnostics/metadata.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/early_buffered_lints.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 16 | ||||
| -rw-r--r-- | src/libsyntax/source_map.rs | 16 |
4 files changed, 9 insertions, 29 deletions
diff --git a/src/libsyntax/diagnostics/metadata.rs b/src/libsyntax/diagnostics/metadata.rs index 704135fe1d5..53f37bb10bd 100644 --- a/src/libsyntax/diagnostics/metadata.rs +++ b/src/libsyntax/diagnostics/metadata.rs @@ -36,9 +36,9 @@ pub struct ErrorLocation { impl ErrorLocation { /// Creates an error location from a span. pub fn from_span(ecx: &ExtCtxt<'_>, sp: Span) -> ErrorLocation { - let loc = ecx.source_map().lookup_char_pos_adj(sp.lo()); + let loc = ecx.source_map().lookup_char_pos(sp.lo()); ErrorLocation { - filename: loc.filename, + filename: loc.file.name.clone(), line: loc.line } } diff --git a/src/libsyntax/early_buffered_lints.rs b/src/libsyntax/early_buffered_lints.rs index 29cb9cd7f30..977e6d45877 100644 --- a/src/libsyntax/early_buffered_lints.rs +++ b/src/libsyntax/early_buffered_lints.rs @@ -12,8 +12,6 @@ pub enum BufferedEarlyLintId { /// Usage of `?` as a macro separator is deprecated. QuestionMarkMacroSep, IllFormedAttributeInput, - /// Usage of a duplicate macro matcher binding name. - DuplicateMacroMatcherBindingName, } /// Stores buffered lint info which can later be passed to `librustc`. diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 12912044e4e..b1b9d25b3d5 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -497,22 +497,14 @@ fn check_lhs_duplicate_matcher_bindings( node_id: ast::NodeId, ) -> bool { use self::quoted::TokenTree; - use crate::early_buffered_lints::BufferedEarlyLintId; for tt in tts { match *tt { TokenTree::MetaVarDecl(span, name, _kind) => { if let Some(&prev_span) = metavar_names.get(&name) { - // FIXME(mark-i-m): in a few cycles, make this a hard error. - // sess.span_diagnostic - // .struct_span_err(span, "duplicate matcher binding") - // .span_note(prev_span, "previous declaration was here") - // .emit(); - sess.buffer_lint( - BufferedEarlyLintId::DuplicateMacroMatcherBindingName, - crate::source_map::MultiSpan::from(vec![prev_span, span]), - node_id, - "duplicate matcher binding" - ); + sess.span_diagnostic + .struct_span_err(span, "duplicate matcher binding") + .span_note(prev_span, "previous declaration was here") + .emit(); return false; } else { metavar_names.insert(name, span); diff --git a/src/libsyntax/source_map.rs b/src/libsyntax/source_map.rs index 62a6972122a..08abbf5e8a4 100644 --- a/src/libsyntax/source_map.rs +++ b/src/libsyntax/source_map.rs @@ -388,16 +388,6 @@ impl SourceMap { } } - pub fn lookup_char_pos_adj(&self, pos: BytePos) -> LocWithOpt { - let loc = self.lookup_char_pos(pos); - LocWithOpt { - filename: loc.file.name.clone(), - line: loc.line, - col: loc.col, - file: Some(loc.file) - } - } - /// Returns `Some(span)`, a union of the lhs and rhs span. The lhs must precede the rhs. If /// there are gaps between lhs and rhs, the resulting union will cross these gaps. /// For this to work, the spans have to be: @@ -438,10 +428,10 @@ impl SourceMap { return "no-location".to_string(); } - let lo = self.lookup_char_pos_adj(sp.lo()); - let hi = self.lookup_char_pos_adj(sp.hi()); + let lo = self.lookup_char_pos(sp.lo()); + let hi = self.lookup_char_pos(sp.hi()); format!("{}:{}:{}: {}:{}", - lo.filename, + lo.file.name, lo.line, lo.col.to_usize() + 1, hi.line, |
