File tree 3 files changed +35
-1
lines changed
compiler/rustc_errors/src
3 files changed +35
-1
lines changed Original file line number Diff line number Diff line change @@ -622,10 +622,13 @@ impl Diagnostic {
622
622
pub fn multipart_suggestion_with_style (
623
623
& mut self ,
624
624
msg : impl Into < SubdiagnosticMessage > ,
625
- suggestion : Vec < ( Span , String ) > ,
625
+ mut suggestion : Vec < ( Span , String ) > ,
626
626
applicability : Applicability ,
627
627
style : SuggestionStyle ,
628
628
) -> & mut Self {
629
+ suggestion. sort ( ) ;
630
+ suggestion. dedup ( ) ;
631
+
629
632
let mut parts = suggestion
630
633
. into_iter ( )
631
634
. map ( |( span, snippet) | SubstitutionPart { snippet, span } )
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