File tree Expand file tree Collapse file tree 10 files changed +25
-7
lines changed
hir-ty/src/diagnostics/match_check Expand file tree Collapse file tree 10 files changed +25
-7
lines changed Original file line number Diff line number Diff line change @@ -224,7 +224,7 @@ impl ExprCollector<'_> {
224
224
225
225
curarg = parser. curarg ;
226
226
227
- let to_span = |inner_span : rustc_parse_format :: InnerSpan | {
227
+ let to_span = |inner_span : std :: ops :: Range < usize > | {
228
228
is_direct_literal. then ( || {
229
229
TextRange :: new (
230
230
inner_span. start . try_into ( ) . unwrap ( ) ,
Original file line number Diff line number Diff line change @@ -214,7 +214,7 @@ pub(crate) fn parse(
214
214
} ;
215
215
}
216
216
217
- let to_span = |inner_span : parse :: InnerSpan | {
217
+ let to_span = |inner_span : std :: ops :: Range < usize > | {
218
218
is_source_literal. then ( || {
219
219
TextRange :: new ( inner_span. start . try_into ( ) . unwrap ( ) , inner_span. end . try_into ( ) . unwrap ( ) )
220
220
} )
@@ -297,7 +297,7 @@ pub(crate) fn parse(
297
297
unfinished_literal. clear ( ) ;
298
298
}
299
299
300
- let span = parser. arg_places . get ( placeholder_index) . and_then ( |& s| to_span ( s) ) ;
300
+ let span = parser. arg_places . get ( placeholder_index) . and_then ( |s| to_span ( s. clone ( ) ) ) ;
301
301
placeholder_index += 1 ;
302
302
303
303
let position_span = to_span ( position_span) ;
Original file line number Diff line number Diff line change @@ -301,6 +301,7 @@ impl<'db> MatchCheckCtx<'db> {
301
301
// ignore this issue.
302
302
Ref => PatKind :: Deref { subpattern : subpatterns. next ( ) . unwrap ( ) } ,
303
303
Slice ( _) => unimplemented ! ( ) ,
304
+ DerefPattern ( _) => unimplemented ! ( ) ,
304
305
& Str ( void) => match void { } ,
305
306
Wildcard | NonExhaustive | Hidden | PrivateUninhabited => PatKind :: Wild ,
306
307
Never => PatKind :: Never ,
@@ -351,6 +352,7 @@ impl PatCx for MatchCheckCtx<'_> {
351
352
} ,
352
353
Ref => 1 ,
353
354
Slice ( ..) => unimplemented ! ( ) ,
355
+ DerefPattern ( ..) => unimplemented ! ( ) ,
354
356
Never | Bool ( ..) | IntRange ( ..) | F16Range ( ..) | F32Range ( ..) | F64Range ( ..)
355
357
| F128Range ( ..) | Str ( ..) | Opaque ( ..) | NonExhaustive | PrivateUninhabited
356
358
| Hidden | Missing | Wildcard => 0 ,
@@ -411,6 +413,7 @@ impl PatCx for MatchCheckCtx<'_> {
411
413
}
412
414
} ,
413
415
Slice ( _) => unreachable ! ( "Found a `Slice` constructor in match checking" ) ,
416
+ DerefPattern ( _) => unreachable ! ( "Found a `DerefPattern` constructor in match checking" ) ,
414
417
Never | Bool ( ..) | IntRange ( ..) | F16Range ( ..) | F32Range ( ..) | F64Range ( ..)
415
418
| F128Range ( ..) | Str ( ..) | Opaque ( ..) | NonExhaustive | PrivateUninhabited
416
419
| Hidden | Missing | Wildcard => {
Original file line number Diff line number Diff line change @@ -5789,7 +5789,7 @@ The tracking issue for this feature is: [#120301]
5789
5789
5790
5790
------------------------
5791
5791
5792
- Add the methods `from_mins`, `from_hours` and `from_days ` to `Duration`.
5792
+ Add the methods `from_days` and `from_weeks ` to `Duration`.
5793
5793
"##,
5794
5794
default_severity: Severity::Allow,
5795
5795
warn_since: None,
Original file line number Diff line number Diff line change @@ -179,6 +179,15 @@ impl<'a> Converter<'a> {
179
179
COMMENT
180
180
}
181
181
182
+ rustc_lexer:: TokenKind :: Frontmatter { has_invalid_preceding_whitespace, invalid_infostring } => {
183
+ if * has_invalid_preceding_whitespace {
184
+ err = "invalid preceding whitespace for frontmatter opening"
185
+ } else if * invalid_infostring {
186
+ err = "invalid infostring for frontmatter"
187
+ }
188
+ FRONTMATTER
189
+ }
190
+
182
191
rustc_lexer:: TokenKind :: Whitespace => WHITESPACE ,
183
192
184
193
rustc_lexer:: TokenKind :: Ident if token_text == "_" => UNDERSCORE ,
Original file line number Diff line number Diff line change @@ -150,6 +150,7 @@ pub enum SyntaxKind {
150
150
STRING ,
151
151
COMMENT ,
152
152
ERROR ,
153
+ FRONTMATTER ,
153
154
IDENT ,
154
155
LIFETIME_IDENT ,
155
156
NEWLINE ,
@@ -483,6 +484,7 @@ impl SyntaxKind {
483
484
| YIELD_EXPR
484
485
| COMMENT
485
486
| ERROR
487
+ | FRONTMATTER
486
488
| IDENT
487
489
| LIFETIME_IDENT
488
490
| NEWLINE
@@ -994,7 +996,7 @@ impl SyntaxKind {
994
996
}
995
997
}
996
998
#[ macro_export]
997
- macro_rules ! T_ { [ $] => { $ crate :: SyntaxKind :: DOLLAR } ; [ ; ] => { $ crate :: SyntaxKind :: SEMICOLON } ; [ , ] => { $ crate :: SyntaxKind :: COMMA } ; [ '(' ] => { $ crate :: SyntaxKind :: L_PAREN } ; [ ')' ] => { $ crate :: SyntaxKind :: R_PAREN } ; [ '{' ] => { $ crate :: SyntaxKind :: L_CURLY } ; [ '}' ] => { $ crate :: SyntaxKind :: R_CURLY } ; [ '[' ] => { $ crate :: SyntaxKind :: L_BRACK } ; [ ']' ] => { $ crate :: SyntaxKind :: R_BRACK } ; [ <] => { $ crate :: SyntaxKind :: L_ANGLE } ; [ >] => { $ crate :: SyntaxKind :: R_ANGLE } ; [ @] => { $ crate :: SyntaxKind :: AT } ; [ #] => { $ crate :: SyntaxKind :: POUND } ; [ ~] => { $ crate :: SyntaxKind :: TILDE } ; [ ?] => { $ crate :: SyntaxKind :: QUESTION } ; [ & ] => { $ crate :: SyntaxKind :: AMP } ; [ |] => { $ crate :: SyntaxKind :: PIPE } ; [ +] => { $ crate :: SyntaxKind :: PLUS } ; [ * ] => { $ crate :: SyntaxKind :: STAR } ; [ /] => { $ crate :: SyntaxKind :: SLASH } ; [ ^] => { $ crate :: SyntaxKind :: CARET } ; [ %] => { $ crate :: SyntaxKind :: PERCENT } ; [ _] => { $ crate :: SyntaxKind :: UNDERSCORE } ; [ . ] => { $ crate :: SyntaxKind :: DOT } ; [ ..] => { $ crate :: SyntaxKind :: DOT2 } ; [ ...] => { $ crate :: SyntaxKind :: DOT3 } ; [ ..=] => { $ crate :: SyntaxKind :: DOT2EQ } ; [ : ] => { $ crate :: SyntaxKind :: COLON } ; [ :: ] => { $ crate :: SyntaxKind :: COLON2 } ; [ =] => { $ crate :: SyntaxKind :: EQ } ; [ ==] => { $ crate :: SyntaxKind :: EQ2 } ; [ =>] => { $ crate :: SyntaxKind :: FAT_ARROW } ; [ !] => { $ crate :: SyntaxKind :: BANG } ; [ !=] => { $ crate :: SyntaxKind :: NEQ } ; [ -] => { $ crate :: SyntaxKind :: MINUS } ; [ ->] => { $ crate :: SyntaxKind :: THIN_ARROW } ; [ <=] => { $ crate :: SyntaxKind :: LTEQ } ; [ >=] => { $ crate :: SyntaxKind :: GTEQ } ; [ +=] => { $ crate :: SyntaxKind :: PLUSEQ } ; [ -=] => { $ crate :: SyntaxKind :: MINUSEQ } ; [ |=] => { $ crate :: SyntaxKind :: PIPEEQ } ; [ &=] => { $ crate :: SyntaxKind :: AMPEQ } ; [ ^=] => { $ crate :: SyntaxKind :: CARETEQ } ; [ /=] => { $ crate :: SyntaxKind :: SLASHEQ } ; [ *=] => { $ crate :: SyntaxKind :: STAREQ } ; [ %=] => { $ crate :: SyntaxKind :: PERCENTEQ } ; [ &&] => { $ crate :: SyntaxKind :: AMP2 } ; [ ||] => { $ crate :: SyntaxKind :: PIPE2 } ; [ <<] => { $ crate :: SyntaxKind :: SHL } ; [ >>] => { $ crate :: SyntaxKind :: SHR } ; [ <<=] => { $ crate :: SyntaxKind :: SHLEQ } ; [ >>=] => { $ crate :: SyntaxKind :: SHREQ } ; [ Self ] => { $ crate :: SyntaxKind :: SELF_TYPE_KW } ; [ abstract] => { $ crate :: SyntaxKind :: ABSTRACT_KW } ; [ as ] => { $ crate :: SyntaxKind :: AS_KW } ; [ become] => { $ crate :: SyntaxKind :: BECOME_KW } ; [ box] => { $ crate :: SyntaxKind :: BOX_KW } ; [ break ] => { $ crate :: SyntaxKind :: BREAK_KW } ; [ const ] => { $ crate :: SyntaxKind :: CONST_KW } ; [ continue ] => { $ crate :: SyntaxKind :: CONTINUE_KW } ; [ crate ] => { $ crate :: SyntaxKind :: CRATE_KW } ; [ do] => { $ crate :: SyntaxKind :: DO_KW } ; [ else] => { $ crate :: SyntaxKind :: ELSE_KW } ; [ enum ] => { $ crate :: SyntaxKind :: ENUM_KW } ; [ extern] => { $ crate :: SyntaxKind :: EXTERN_KW } ; [ false ] => { $ crate :: SyntaxKind :: FALSE_KW } ; [ final] => { $ crate :: SyntaxKind :: FINAL_KW } ; [ fn ] => { $ crate :: SyntaxKind :: FN_KW } ; [ for ] => { $ crate :: SyntaxKind :: FOR_KW } ; [ if ] => { $ crate :: SyntaxKind :: IF_KW } ; [ impl ] => { $ crate :: SyntaxKind :: IMPL_KW } ; [ in] => { $ crate :: SyntaxKind :: IN_KW } ; [ let ] => { $ crate :: SyntaxKind :: LET_KW } ; [ loop ] => { $ crate :: SyntaxKind :: LOOP_KW } ; [ macro] => { $ crate :: SyntaxKind :: MACRO_KW } ; [ match ] => { $ crate :: SyntaxKind :: MATCH_KW } ; [ mod ] => { $ crate :: SyntaxKind :: MOD_KW } ; [ move] => { $ crate :: SyntaxKind :: MOVE_KW } ; [ mut ] => { $ crate :: SyntaxKind :: MUT_KW } ; [ override] => { $ crate :: SyntaxKind :: OVERRIDE_KW } ; [ priv] => { $ crate :: SyntaxKind :: PRIV_KW } ; [ pub ] => { $ crate :: SyntaxKind :: PUB_KW } ; [ ref] => { $ crate :: SyntaxKind :: REF_KW } ; [ return ] => { $ crate :: SyntaxKind :: RETURN_KW } ; [ self ] => { $ crate :: SyntaxKind :: SELF_KW } ; [ static ] => { $ crate :: SyntaxKind :: STATIC_KW } ; [ struct ] => { $ crate :: SyntaxKind :: STRUCT_KW } ; [ super ] => { $ crate :: SyntaxKind :: SUPER_KW } ; [ trait ] => { $ crate :: SyntaxKind :: TRAIT_KW } ; [ true ] => { $ crate :: SyntaxKind :: TRUE_KW } ; [ type ] => { $ crate :: SyntaxKind :: TYPE_KW } ; [ typeof] => { $ crate :: SyntaxKind :: TYPEOF_KW } ; [ unsafe ] => { $ crate :: SyntaxKind :: UNSAFE_KW } ; [ unsized] => { $ crate :: SyntaxKind :: UNSIZED_KW } ; [ use ] => { $ crate :: SyntaxKind :: USE_KW } ; [ virtual] => { $ crate :: SyntaxKind :: VIRTUAL_KW } ; [ where ] => { $ crate :: SyntaxKind :: WHERE_KW } ; [ while ] => { $ crate :: SyntaxKind :: WHILE_KW } ; [ yield] => { $ crate :: SyntaxKind :: YIELD_KW } ; [ asm] => { $ crate :: SyntaxKind :: ASM_KW } ; [ att_syntax] => { $ crate :: SyntaxKind :: ATT_SYNTAX_KW } ; [ auto] => { $ crate :: SyntaxKind :: AUTO_KW } ; [ builtin] => { $ crate :: SyntaxKind :: BUILTIN_KW } ; [ clobber_abi] => { $ crate :: SyntaxKind :: CLOBBER_ABI_KW } ; [ default ] => { $ crate :: SyntaxKind :: DEFAULT_KW } ; [ dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [ format_args] => { $ crate :: SyntaxKind :: FORMAT_ARGS_KW } ; [ inlateout] => { $ crate :: SyntaxKind :: INLATEOUT_KW } ; [ inout] => { $ crate :: SyntaxKind :: INOUT_KW } ; [ label] => { $ crate :: SyntaxKind :: LABEL_KW } ; [ lateout] => { $ crate :: SyntaxKind :: LATEOUT_KW } ; [ macro_rules] => { $ crate :: SyntaxKind :: MACRO_RULES_KW } ; [ may_unwind] => { $ crate :: SyntaxKind :: MAY_UNWIND_KW } ; [ nomem] => { $ crate :: SyntaxKind :: NOMEM_KW } ; [ noreturn] => { $ crate :: SyntaxKind :: NORETURN_KW } ; [ nostack] => { $ crate :: SyntaxKind :: NOSTACK_KW } ; [ offset_of] => { $ crate :: SyntaxKind :: OFFSET_OF_KW } ; [ options] => { $ crate :: SyntaxKind :: OPTIONS_KW } ; [ out] => { $ crate :: SyntaxKind :: OUT_KW } ; [ preserves_flags] => { $ crate :: SyntaxKind :: PRESERVES_FLAGS_KW } ; [ pure] => { $ crate :: SyntaxKind :: PURE_KW } ; [ raw] => { $ crate :: SyntaxKind :: RAW_KW } ; [ readonly] => { $ crate :: SyntaxKind :: READONLY_KW } ; [ safe] => { $ crate :: SyntaxKind :: SAFE_KW } ; [ sym] => { $ crate :: SyntaxKind :: SYM_KW } ; [ union ] => { $ crate :: SyntaxKind :: UNION_KW } ; [ yeet] => { $ crate :: SyntaxKind :: YEET_KW } ; [ async ] => { $ crate :: SyntaxKind :: ASYNC_KW } ; [ await ] => { $ crate :: SyntaxKind :: AWAIT_KW } ; [ dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [ gen ] => { $ crate :: SyntaxKind :: GEN_KW } ; [ try] => { $ crate :: SyntaxKind :: TRY_KW } ; [ lifetime_ident] => { $ crate :: SyntaxKind :: LIFETIME_IDENT } ; [ int_number] => { $ crate :: SyntaxKind :: INT_NUMBER } ; [ ident] => { $ crate :: SyntaxKind :: IDENT } ; [ string] => { $ crate :: SyntaxKind :: STRING } ; [ shebang] => { $ crate :: SyntaxKind :: SHEBANG } ; }
999
+ macro_rules ! T_ { [ $] => { $ crate :: SyntaxKind :: DOLLAR } ; [ ; ] => { $ crate :: SyntaxKind :: SEMICOLON } ; [ , ] => { $ crate :: SyntaxKind :: COMMA } ; [ '(' ] => { $ crate :: SyntaxKind :: L_PAREN } ; [ ')' ] => { $ crate :: SyntaxKind :: R_PAREN } ; [ '{' ] => { $ crate :: SyntaxKind :: L_CURLY } ; [ '}' ] => { $ crate :: SyntaxKind :: R_CURLY } ; [ '[' ] => { $ crate :: SyntaxKind :: L_BRACK } ; [ ']' ] => { $ crate :: SyntaxKind :: R_BRACK } ; [ <] => { $ crate :: SyntaxKind :: L_ANGLE } ; [ >] => { $ crate :: SyntaxKind :: R_ANGLE } ; [ @] => { $ crate :: SyntaxKind :: AT } ; [ #] => { $ crate :: SyntaxKind :: POUND } ; [ ~] => { $ crate :: SyntaxKind :: TILDE } ; [ ?] => { $ crate :: SyntaxKind :: QUESTION } ; [ & ] => { $ crate :: SyntaxKind :: AMP } ; [ |] => { $ crate :: SyntaxKind :: PIPE } ; [ +] => { $ crate :: SyntaxKind :: PLUS } ; [ * ] => { $ crate :: SyntaxKind :: STAR } ; [ /] => { $ crate :: SyntaxKind :: SLASH } ; [ ^] => { $ crate :: SyntaxKind :: CARET } ; [ %] => { $ crate :: SyntaxKind :: PERCENT } ; [ _] => { $ crate :: SyntaxKind :: UNDERSCORE } ; [ . ] => { $ crate :: SyntaxKind :: DOT } ; [ ..] => { $ crate :: SyntaxKind :: DOT2 } ; [ ...] => { $ crate :: SyntaxKind :: DOT3 } ; [ ..=] => { $ crate :: SyntaxKind :: DOT2EQ } ; [ : ] => { $ crate :: SyntaxKind :: COLON } ; [ :: ] => { $ crate :: SyntaxKind :: COLON2 } ; [ =] => { $ crate :: SyntaxKind :: EQ } ; [ ==] => { $ crate :: SyntaxKind :: EQ2 } ; [ =>] => { $ crate :: SyntaxKind :: FAT_ARROW } ; [ !] => { $ crate :: SyntaxKind :: BANG } ; [ !=] => { $ crate :: SyntaxKind :: NEQ } ; [ -] => { $ crate :: SyntaxKind :: MINUS } ; [ ->] => { $ crate :: SyntaxKind :: THIN_ARROW } ; [ <=] => { $ crate :: SyntaxKind :: LTEQ } ; [ >=] => { $ crate :: SyntaxKind :: GTEQ } ; [ +=] => { $ crate :: SyntaxKind :: PLUSEQ } ; [ -=] => { $ crate :: SyntaxKind :: MINUSEQ } ; [ |=] => { $ crate :: SyntaxKind :: PIPEEQ } ; [ &=] => { $ crate :: SyntaxKind :: AMPEQ } ; [ ^=] => { $ crate :: SyntaxKind :: CARETEQ } ; [ /=] => { $ crate :: SyntaxKind :: SLASHEQ } ; [ *=] => { $ crate :: SyntaxKind :: STAREQ } ; [ %=] => { $ crate :: SyntaxKind :: PERCENTEQ } ; [ &&] => { $ crate :: SyntaxKind :: AMP2 } ; [ ||] => { $ crate :: SyntaxKind :: PIPE2 } ; [ <<] => { $ crate :: SyntaxKind :: SHL } ; [ >>] => { $ crate :: SyntaxKind :: SHR } ; [ <<=] => { $ crate :: SyntaxKind :: SHLEQ } ; [ >>=] => { $ crate :: SyntaxKind :: SHREQ } ; [ Self ] => { $ crate :: SyntaxKind :: SELF_TYPE_KW } ; [ abstract] => { $ crate :: SyntaxKind :: ABSTRACT_KW } ; [ as ] => { $ crate :: SyntaxKind :: AS_KW } ; [ become] => { $ crate :: SyntaxKind :: BECOME_KW } ; [ box] => { $ crate :: SyntaxKind :: BOX_KW } ; [ break ] => { $ crate :: SyntaxKind :: BREAK_KW } ; [ const ] => { $ crate :: SyntaxKind :: CONST_KW } ; [ continue ] => { $ crate :: SyntaxKind :: CONTINUE_KW } ; [ crate ] => { $ crate :: SyntaxKind :: CRATE_KW } ; [ do] => { $ crate :: SyntaxKind :: DO_KW } ; [ else] => { $ crate :: SyntaxKind :: ELSE_KW } ; [ enum ] => { $ crate :: SyntaxKind :: ENUM_KW } ; [ extern] => { $ crate :: SyntaxKind :: EXTERN_KW } ; [ false ] => { $ crate :: SyntaxKind :: FALSE_KW } ; [ final] => { $ crate :: SyntaxKind :: FINAL_KW } ; [ fn ] => { $ crate :: SyntaxKind :: FN_KW } ; [ for ] => { $ crate :: SyntaxKind :: FOR_KW } ; [ if ] => { $ crate :: SyntaxKind :: IF_KW } ; [ impl ] => { $ crate :: SyntaxKind :: IMPL_KW } ; [ in] => { $ crate :: SyntaxKind :: IN_KW } ; [ let ] => { $ crate :: SyntaxKind :: LET_KW } ; [ loop ] => { $ crate :: SyntaxKind :: LOOP_KW } ; [ macro] => { $ crate :: SyntaxKind :: MACRO_KW } ; [ match ] => { $ crate :: SyntaxKind :: MATCH_KW } ; [ mod ] => { $ crate :: SyntaxKind :: MOD_KW } ; [ move] => { $ crate :: SyntaxKind :: MOVE_KW } ; [ mut ] => { $ crate :: SyntaxKind :: MUT_KW } ; [ override] => { $ crate :: SyntaxKind :: OVERRIDE_KW } ; [ priv] => { $ crate :: SyntaxKind :: PRIV_KW } ; [ pub ] => { $ crate :: SyntaxKind :: PUB_KW } ; [ ref] => { $ crate :: SyntaxKind :: REF_KW } ; [ return ] => { $ crate :: SyntaxKind :: RETURN_KW } ; [ self ] => { $ crate :: SyntaxKind :: SELF_KW } ; [ static ] => { $ crate :: SyntaxKind :: STATIC_KW } ; [ struct ] => { $ crate :: SyntaxKind :: STRUCT_KW } ; [ super ] => { $ crate :: SyntaxKind :: SUPER_KW } ; [ trait ] => { $ crate :: SyntaxKind :: TRAIT_KW } ; [ true ] => { $ crate :: SyntaxKind :: TRUE_KW } ; [ type ] => { $ crate :: SyntaxKind :: TYPE_KW } ; [ typeof] => { $ crate :: SyntaxKind :: TYPEOF_KW } ; [ unsafe ] => { $ crate :: SyntaxKind :: UNSAFE_KW } ; [ unsized] => { $ crate :: SyntaxKind :: UNSIZED_KW } ; [ use ] => { $ crate :: SyntaxKind :: USE_KW } ; [ virtual] => { $ crate :: SyntaxKind :: VIRTUAL_KW } ; [ where ] => { $ crate :: SyntaxKind :: WHERE_KW } ; [ while ] => { $ crate :: SyntaxKind :: WHILE_KW } ; [ yield] => { $ crate :: SyntaxKind :: YIELD_KW } ; [ asm] => { $ crate :: SyntaxKind :: ASM_KW } ; [ att_syntax] => { $ crate :: SyntaxKind :: ATT_SYNTAX_KW } ; [ auto] => { $ crate :: SyntaxKind :: AUTO_KW } ; [ builtin] => { $ crate :: SyntaxKind :: BUILTIN_KW } ; [ clobber_abi] => { $ crate :: SyntaxKind :: CLOBBER_ABI_KW } ; [ default ] => { $ crate :: SyntaxKind :: DEFAULT_KW } ; [ dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [ format_args] => { $ crate :: SyntaxKind :: FORMAT_ARGS_KW } ; [ inlateout] => { $ crate :: SyntaxKind :: INLATEOUT_KW } ; [ inout] => { $ crate :: SyntaxKind :: INOUT_KW } ; [ label] => { $ crate :: SyntaxKind :: LABEL_KW } ; [ lateout] => { $ crate :: SyntaxKind :: LATEOUT_KW } ; [ macro_rules] => { $ crate :: SyntaxKind :: MACRO_RULES_KW } ; [ may_unwind] => { $ crate :: SyntaxKind :: MAY_UNWIND_KW } ; [ nomem] => { $ crate :: SyntaxKind :: NOMEM_KW } ; [ noreturn] => { $ crate :: SyntaxKind :: NORETURN_KW } ; [ nostack] => { $ crate :: SyntaxKind :: NOSTACK_KW } ; [ offset_of] => { $ crate :: SyntaxKind :: OFFSET_OF_KW } ; [ options] => { $ crate :: SyntaxKind :: OPTIONS_KW } ; [ out] => { $ crate :: SyntaxKind :: OUT_KW } ; [ preserves_flags] => { $ crate :: SyntaxKind :: PRESERVES_FLAGS_KW } ; [ pure] => { $ crate :: SyntaxKind :: PURE_KW } ; [ raw] => { $ crate :: SyntaxKind :: RAW_KW } ; [ readonly] => { $ crate :: SyntaxKind :: READONLY_KW } ; [ safe] => { $ crate :: SyntaxKind :: SAFE_KW } ; [ sym] => { $ crate :: SyntaxKind :: SYM_KW } ; [ union ] => { $ crate :: SyntaxKind :: UNION_KW } ; [ yeet] => { $ crate :: SyntaxKind :: YEET_KW } ; [ async ] => { $ crate :: SyntaxKind :: ASYNC_KW } ; [ await ] => { $ crate :: SyntaxKind :: AWAIT_KW } ; [ dyn] => { $ crate :: SyntaxKind :: DYN_KW } ; [ gen ] => { $ crate :: SyntaxKind :: GEN_KW } ; [ try] => { $ crate :: SyntaxKind :: TRY_KW } ; [ lifetime_ident] => { $ crate :: SyntaxKind :: LIFETIME_IDENT } ; [ int_number] => { $ crate :: SyntaxKind :: INT_NUMBER } ; [ ident] => { $ crate :: SyntaxKind :: IDENT } ; [ string] => { $ crate :: SyntaxKind :: STRING } ; [ shebang] => { $ crate :: SyntaxKind :: SHEBANG } ; [ frontmatter] => { $ crate :: SyntaxKind :: FRONTMATTER } ; }
998
1000
impl :: core:: marker:: Copy for SyntaxKind { }
999
1001
impl :: core:: clone:: Clone for SyntaxKind {
1000
1002
#[ inline]
Original file line number Diff line number Diff line change @@ -173,7 +173,6 @@ fn test_fn_like_macro_clone_raw_ident() {
173
173
}
174
174
175
175
#[ test]
176
- #[ cfg( not( bootstrap) ) ]
177
176
fn test_fn_like_fn_like_span_join ( ) {
178
177
assert_expand (
179
178
"fn_like_span_join" ,
@@ -200,7 +199,6 @@ fn test_fn_like_fn_like_span_join() {
200
199
}
201
200
202
201
#[ test]
203
- #[ cfg( not( bootstrap) ) ]
204
202
fn test_fn_like_fn_like_span_ops ( ) {
205
203
assert_expand (
206
204
"fn_like_span_ops" ,
Original file line number Diff line number Diff line change @@ -133,6 +133,7 @@ Meta =
133
133
134
134
SourceFile =
135
135
'#shebang'?
136
+ '#frontmatter'?
136
137
Attr*
137
138
Item*
138
139
Original file line number Diff line number Diff line change @@ -1524,6 +1524,10 @@ impl ast::HasAttrs for SourceFile {}
1524
1524
impl ast:: HasDocComments for SourceFile { }
1525
1525
impl ast:: HasModuleItem for SourceFile { }
1526
1526
impl SourceFile {
1527
+ #[ inline]
1528
+ pub fn frontmatter_token ( & self ) -> Option < SyntaxToken > {
1529
+ support:: token ( & self . syntax , T ! [ frontmatter] )
1530
+ }
1527
1531
#[ inline]
1528
1532
pub fn shebang_token ( & self ) -> Option < SyntaxToken > { support:: token ( & self . syntax , T ! [ shebang] ) }
1529
1533
}
Original file line number Diff line number Diff line change @@ -670,6 +670,7 @@ fn generate_syntax_kinds(grammar: KindsSrc) -> String {
670
670
[ ident] => { $crate :: SyntaxKind :: IDENT } ;
671
671
[ string] => { $crate :: SyntaxKind :: STRING } ;
672
672
[ shebang] => { $crate :: SyntaxKind :: SHEBANG } ;
673
+ [ frontmatter] => { $crate :: SyntaxKind :: FRONTMATTER } ;
673
674
}
674
675
675
676
impl :: core:: marker:: Copy for SyntaxKind { }
You can’t perform that action at this time.
0 commit comments