Skip to content

Commit 3eb1857

Browse files
authored
Merge pull request dtolnay#433 from dtolnay/mismatch
Include line number in compiler/fallback mismatch panic
2 parents 9c5b613 + 8da8b88 commit 3eb1857

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

src/wrapper.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ impl LexError {
3939
}
4040

4141
#[cold]
42-
fn mismatch() -> ! {
43-
panic!("compiler/fallback mismatch")
42+
fn mismatch(line: u32) -> ! {
43+
panic!("compiler/fallback mismatch #{}", line)
4444
}
4545

4646
impl DeferredTokenStream {
@@ -89,13 +89,13 @@ impl TokenStream {
8989
fn unwrap_nightly(self) -> proc_macro::TokenStream {
9090
match self {
9191
TokenStream::Compiler(s) => s.into_token_stream(),
92-
TokenStream::Fallback(_) => mismatch(),
92+
TokenStream::Fallback(_) => mismatch(line!()),
9393
}
9494
}
9595

9696
fn unwrap_stable(self) -> fallback::TokenStream {
9797
match self {
98-
TokenStream::Compiler(_) => mismatch(),
98+
TokenStream::Compiler(_) => mismatch(line!()),
9999
TokenStream::Fallback(s) => s,
100100
}
101101
}
@@ -199,14 +199,14 @@ impl FromIterator<TokenStream> for TokenStream {
199199
first.evaluate_now();
200200
first.stream.extend(streams.map(|s| match s {
201201
TokenStream::Compiler(s) => s.into_token_stream(),
202-
TokenStream::Fallback(_) => mismatch(),
202+
TokenStream::Fallback(_) => mismatch(line!()),
203203
}));
204204
TokenStream::Compiler(first)
205205
}
206206
Some(TokenStream::Fallback(mut first)) => {
207207
first.extend(streams.map(|s| match s {
208208
TokenStream::Fallback(s) => s,
209-
TokenStream::Compiler(_) => mismatch(),
209+
TokenStream::Compiler(_) => mismatch(line!()),
210210
}));
211211
TokenStream::Fallback(first)
212212
}
@@ -419,15 +419,15 @@ impl Span {
419419
match (self, other) {
420420
(Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.resolved_at(b)),
421421
(Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.resolved_at(b)),
422-
_ => mismatch(),
422+
_ => mismatch(line!()),
423423
}
424424
}
425425

426426
pub fn located_at(&self, other: Span) -> Span {
427427
match (self, other) {
428428
(Span::Compiler(a), Span::Compiler(b)) => Span::Compiler(a.located_at(b)),
429429
(Span::Fallback(a), Span::Fallback(b)) => Span::Fallback(a.located_at(b)),
430-
_ => mismatch(),
430+
_ => mismatch(line!()),
431431
}
432432
}
433433

@@ -494,7 +494,7 @@ impl Span {
494494
fn unwrap_nightly(self) -> proc_macro::Span {
495495
match self {
496496
Span::Compiler(s) => s,
497-
Span::Fallback(_) => mismatch(),
497+
Span::Fallback(_) => mismatch(line!()),
498498
}
499499
}
500500
}
@@ -597,14 +597,14 @@ impl Group {
597597
match (self, span) {
598598
(Group::Compiler(g), Span::Compiler(s)) => g.set_span(s),
599599
(Group::Fallback(g), Span::Fallback(s)) => g.set_span(s),
600-
_ => mismatch(),
600+
_ => mismatch(line!()),
601601
}
602602
}
603603

604604
fn unwrap_nightly(self) -> proc_macro::Group {
605605
match self {
606606
Group::Compiler(g) => g,
607-
Group::Fallback(_) => mismatch(),
607+
Group::Fallback(_) => mismatch(line!()),
608608
}
609609
}
610610
}
@@ -675,14 +675,14 @@ impl Ident {
675675
match (self, span) {
676676
(Ident::Compiler(t), Span::Compiler(s)) => t.set_span(s),
677677
(Ident::Fallback(t), Span::Fallback(s)) => t.set_span(s),
678-
_ => mismatch(),
678+
_ => mismatch(line!()),
679679
}
680680
}
681681

682682
fn unwrap_nightly(self) -> proc_macro::Ident {
683683
match self {
684684
Ident::Compiler(s) => s,
685-
Ident::Fallback(_) => mismatch(),
685+
Ident::Fallback(_) => mismatch(line!()),
686686
}
687687
}
688688
}
@@ -692,7 +692,7 @@ impl PartialEq for Ident {
692692
match (self, other) {
693693
(Ident::Compiler(t), Ident::Compiler(o)) => t.to_string() == o.to_string(),
694694
(Ident::Fallback(t), Ident::Fallback(o)) => t == o,
695-
_ => mismatch(),
695+
_ => mismatch(line!()),
696696
}
697697
}
698698
}
@@ -851,7 +851,7 @@ impl Literal {
851851
match (self, span) {
852852
(Literal::Compiler(lit), Span::Compiler(s)) => lit.set_span(s),
853853
(Literal::Fallback(lit), Span::Fallback(s)) => lit.set_span(s),
854-
_ => mismatch(),
854+
_ => mismatch(line!()),
855855
}
856856
}
857857

@@ -868,7 +868,7 @@ impl Literal {
868868
fn unwrap_nightly(self) -> proc_macro::Literal {
869869
match self {
870870
Literal::Compiler(s) => s,
871-
Literal::Fallback(_) => mismatch(),
871+
Literal::Fallback(_) => mismatch(line!()),
872872
}
873873
}
874874
}

0 commit comments

Comments
 (0)