File tree Expand file tree Collapse file tree 1 file changed +9
-11
lines changed
compiler/rustc_macros/src/diagnostics Expand file tree Collapse file tree 1 file changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -155,7 +155,7 @@ impl DiagnosticDeriveBuilder {
155
155
} else {
156
156
Ident :: new ( name, attr. span ( ) )
157
157
} ;
158
- return Ok ( quote ! { #diag . #fn_name ( rustc_errors :: fluent :: _subdiag:: #fn_name) ; } ) ;
158
+ return Ok ( self . add_subdiagnostic ( & fn_name , parse_quote ! { _subdiag:: #fn_name } ) ) ;
159
159
}
160
160
_ => throw_invalid_attr ! ( attr, & meta) ,
161
161
} ;
@@ -449,20 +449,18 @@ impl DiagnosticDeriveBuilder {
449
449
450
450
let ( span_field, mut applicability) = self . span_and_applicability_of_ty ( info) ?;
451
451
452
- let mut msg = None ;
453
452
let mut code = None ;
454
453
455
454
let mut nested_iter = nested. into_iter ( ) . peekable ( ) ;
456
- if let Some ( nested_attr) = nested_iter. peek ( ) {
457
- if let NestedMeta :: Meta ( Meta :: Path ( path) ) = nested_attr {
458
- msg = Some ( path. clone ( ) ) ;
459
- }
455
+ let msg = if let Some ( NestedMeta :: Meta ( Meta :: Path ( path) ) ) = nested_iter. peek ( ) {
456
+ let path = path. clone ( ) ;
457
+ // Move the iterator forward if a path was found (don't otherwise so that
458
+ // code/applicability can be found or an error emitted).
459
+ nested_iter. next ( ) ;
460
+ Some ( path)
461
+ } else {
462
+ None
460
463
} ;
461
- // Move the iterator forward if a path was found (don't otherwise so that
462
- // code/applicability can be found or an error emitted).
463
- if msg. is_some ( ) {
464
- let _ = nested_iter. next ( ) ;
465
- }
466
464
467
465
for nested_attr in nested_iter {
468
466
let meta = match nested_attr {
You can’t perform that action at this time.
0 commit comments