File tree Expand file tree Collapse file tree 3 files changed +36
-4
lines changed
compiler/rustc_errors/src Expand file tree Collapse file tree 3 files changed +36
-4
lines changed Original file line number Diff line number Diff line change @@ -622,17 +622,18 @@ impl Diagnostic {
622622 pub fn multipart_suggestion_with_style (
623623 & mut self ,
624624 msg : impl Into < SubdiagnosticMessage > ,
625- suggestion : Vec < ( Span , String ) > ,
625+ mut suggestion : Vec < ( Span , String ) > ,
626626 applicability : Applicability ,
627627 style : SuggestionStyle ,
628628 ) -> & mut Self {
629- let mut parts = suggestion
629+ suggestion. sort_unstable ( ) ;
630+ suggestion. dedup ( ) ;
631+
632+ let parts = suggestion
630633 . into_iter ( )
631634 . map ( |( span, snippet) | SubstitutionPart { snippet, span } )
632635 . collect :: < Vec < _ > > ( ) ;
633636
634- parts. sort_unstable_by_key ( |part| part. span ) ;
635-
636637 assert ! ( !parts. is_empty( ) ) ;
637638 debug_assert_eq ! (
638639 parts. iter( ) . find( |part| part. span. is_empty( ) && part. snippet. is_empty( ) ) ,
Original file line number Diff line number Diff line change 1+ macro_rules! foo {
2+ ( $ty: ty) => {
3+ fn foo( _: $ty, _: $ty) { }
4+ }
5+ }
6+
7+ foo ! ( _) ;
8+ //~^ ERROR the placeholder `_` is not allowed within types on item signatures for functions
9+
10+ fn main ( ) { }
Original file line number Diff line number Diff line change 1+ error[E0121]: the placeholder `_` is not allowed within types on item signatures for functions
2+ --> $DIR/issue-118048.rs:7:6
3+ |
4+ LL | foo!(_);
5+ | ^
6+ | |
7+ | not allowed in type signatures
8+ | not allowed in type signatures
9+ |
10+ help: use type parameters instead
11+ |
12+ LL ~ fn foo<T>(_: $ty, _: $ty) {}
13+ LL | }
14+ LL | }
15+ LL |
16+ LL ~ foo!(T);
17+ |
18+
19+ error: aborting due to 1 previous error
20+
21+ For more information about this error, try `rustc --explain E0121`.
You can’t perform that action at this time.
0 commit comments