mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-07-07 21:25:37 +00:00
chore: Bump Edition::CURRENT
to 2024
This commit is contained in:
parent
23e8d13531
commit
a505420751
24 changed files with 277 additions and 244 deletions
|
@ -528,7 +528,7 @@ macro_rules! __ra_macro_fixture526 {($expr : expr )=>{|| -> _ { Some ($expr )}(
|
||||||
macro_rules! __ra_macro_fixture527 {($($arg : tt )*)=>($crate :: io :: _print ($crate :: format_args ! ($($arg )*))); }
|
macro_rules! __ra_macro_fixture527 {($($arg : tt )*)=>($crate :: io :: _print ($crate :: format_args ! ($($arg )*))); }
|
||||||
macro_rules! __ra_macro_fixture528 {($fmt : literal , $($tt : tt ),*)=>{ mbe :: ExpandError :: ProcMacroError ( tt :: ExpansionError :: Unknown ( format ! ($fmt , $($tt ),*)))}; ($fmt : literal )=>{ mbe :: ExpandError :: ProcMacroError ( tt :: ExpansionError :: Unknown ($fmt . to_string ()))}}
|
macro_rules! __ra_macro_fixture528 {($fmt : literal , $($tt : tt ),*)=>{ mbe :: ExpandError :: ProcMacroError ( tt :: ExpansionError :: Unknown ( format ! ($fmt , $($tt ),*)))}; ($fmt : literal )=>{ mbe :: ExpandError :: ProcMacroError ( tt :: ExpansionError :: Unknown ($fmt . to_string ()))}}
|
||||||
macro_rules! __ra_macro_fixture529 {($($tt : tt )* )=>{$crate :: quote :: IntoTt :: to_subtree ($crate :: __quote ! ($($tt )*))}}
|
macro_rules! __ra_macro_fixture529 {($($tt : tt )* )=>{$crate :: quote :: IntoTt :: to_subtree ($crate :: __quote ! ($($tt )*))}}
|
||||||
macro_rules! __ra_macro_fixture530 {()=>{ Vec ::< tt :: TokenTree >:: new ()}; (@ SUBTREE $delim : ident $($tt : tt )* )=>{{ let children = $crate :: __quote ! ($($tt )*); tt :: Subtree { delimiter : Some ( tt :: Delimiter { kind : tt :: DelimiterKind ::$delim , id : tt :: TokenId :: unspecified (), }), token_trees : $crate :: quote :: IntoTt :: to_tokens ( children ), }}}; (@ PUNCT $first : literal )=>{{ vec ! [ tt :: Leaf :: Punct ( tt :: Punct { char : $first , spacing : tt :: Spacing :: Alone , id : tt :: TokenId :: unspecified (), }). into ()]}}; (@ PUNCT $first : literal , $sec : literal )=>{{ vec ! [ tt :: Leaf :: Punct ( tt :: Punct { char : $first , spacing : tt :: Spacing :: Joint , id : tt :: TokenId :: unspecified (), }). into (), tt :: Leaf :: Punct ( tt :: Punct { char : $sec , spacing : tt :: Spacing :: Alone , id : tt :: TokenId :: unspecified (), }). into ()]}}; (# $first : ident $($tail : tt )* )=>{{ let token = $crate :: quote :: ToTokenTree :: to_token ($first ); let mut tokens = vec ! [ token . into ()]; let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; (## $first : ident $($tail : tt )* )=>{{ let mut tokens = $first . into_iter (). map ($crate :: quote :: ToTokenTree :: to_token ). collect ::< Vec < tt :: TokenTree >> (); let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; ({$($tt : tt )* })=>{$crate :: __quote ! (@ SUBTREE Brace $($tt )*)}; ([$($tt : tt )* ])=>{$crate :: __quote ! (@ SUBTREE Bracket $($tt )*)}; (($($tt : tt )* ))=>{$crate :: __quote ! (@ SUBTREE Parenthesis $($tt )*)}; ($tt : literal )=>{ vec ! [$crate :: quote :: ToTokenTree :: to_token ($tt ). into ()]}; ($tt : ident )=>{ vec ! [{ tt :: Leaf :: Ident ( tt :: Ident { text : stringify ! ($tt ). into (), id : tt :: TokenId :: unspecified (), }). into ()}]}; (-> )=>{$crate :: __quote ! (@ PUNCT '-' , '>' )}; (& )=>{$crate :: __quote ! (@ PUNCT '&' )}; (, )=>{$crate :: __quote ! (@ PUNCT ',' )}; (: )=>{$crate :: __quote ! (@ PUNCT ':' )}; (; )=>{$crate :: __quote ! (@ PUNCT ';' )}; (:: )=>{$crate :: __quote ! (@ PUNCT ':' , ':' )}; (. )=>{$crate :: __quote ! (@ PUNCT '.' )}; (< )=>{$crate :: __quote ! (@ PUNCT '<' )}; (> )=>{$crate :: __quote ! (@ PUNCT '>' )}; ($first : tt $($tail : tt )+ )=>{{ let mut tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($first )); let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; }
|
macro_rules! __ra_macro_fixture530 {()=>{ Vec ::< tt :: TokenTree >:: new ()}; (@ SUBTREE $delim : ident $($tt : tt )* )=>{{ let children = $crate :: __quote ! ($($tt )*); tt :: Subtree { delimiter : Some ( tt :: Delimiter { kind : tt :: DelimiterKind ::$delim , id : tt :: TokenId :: unspecified (), }), token_trees : $crate :: quote :: IntoTt :: to_tokens ( children ), }}}; (@ PUNCT $first : literal )=>{{ vec ! [ tt :: Leaf :: Punct ( tt :: Punct { char : $first , spacing : tt :: Spacing :: Alone , id : tt :: TokenId :: unspecified (), }). into ()]}}; (@ PUNCT $first : literal , $sec : literal )=>{{ vec ! [ tt :: Leaf :: Punct ( tt :: Punct { char : $first , spacing : tt :: Spacing :: Joint , id : tt :: TokenId :: unspecified (), }). into (), tt :: Leaf :: Punct ( tt :: Punct { char : $sec , spacing : tt :: Spacing :: Alone , id : tt :: TokenId :: unspecified (), }). into ()]}}; (# $first : ident $($tail : tt )* )=>{{ let token = $crate :: quote :: ToTokenTree :: to_token ($first ); let mut tokens = vec ! [ token . into ()]; let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; (# # $first : ident $($tail : tt )* )=>{{ let mut tokens = $first . into_iter (). map ($crate :: quote :: ToTokenTree :: to_token ). collect ::< Vec < tt :: TokenTree >> (); let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; ({$($tt : tt )* })=>{$crate :: __quote ! (@ SUBTREE Brace $($tt )*)}; ([$($tt : tt )* ])=>{$crate :: __quote ! (@ SUBTREE Bracket $($tt )*)}; (($($tt : tt )* ))=>{$crate :: __quote ! (@ SUBTREE Parenthesis $($tt )*)}; ($tt : literal )=>{ vec ! [$crate :: quote :: ToTokenTree :: to_token ($tt ). into ()]}; ($tt : ident )=>{ vec ! [{ tt :: Leaf :: Ident ( tt :: Ident { text : stringify ! ($tt ). into (), id : tt :: TokenId :: unspecified (), }). into ()}]}; (-> )=>{$crate :: __quote ! (@ PUNCT '-' , '>' )}; (& )=>{$crate :: __quote ! (@ PUNCT '&' )}; (, )=>{$crate :: __quote ! (@ PUNCT ',' )}; (: )=>{$crate :: __quote ! (@ PUNCT ':' )}; (; )=>{$crate :: __quote ! (@ PUNCT ';' )}; (:: )=>{$crate :: __quote ! (@ PUNCT ':' , ':' )}; (. )=>{$crate :: __quote ! (@ PUNCT '.' )}; (< )=>{$crate :: __quote ! (@ PUNCT '<' )}; (> )=>{$crate :: __quote ! (@ PUNCT '>' )}; ($first : tt $($tail : tt )+ )=>{{ let mut tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($first )); let mut tail_tokens = $crate :: quote :: IntoTt :: to_tokens ($crate :: __quote ! ($($tail )*)); tokens . append (& mut tail_tokens ); tokens }}; }
|
||||||
macro_rules! __ra_macro_fixture531 {($($name : ident )*)=>{$(if let Some ( it )= & self .$name { f . field ( stringify ! ($name ), it ); })*}}
|
macro_rules! __ra_macro_fixture531 {($($name : ident )*)=>{$(if let Some ( it )= & self .$name { f . field ( stringify ! ($name ), it ); })*}}
|
||||||
macro_rules! __ra_macro_fixture532 {($fmt : expr )=>{ RenameError ( format ! ($fmt ))}; ($fmt : expr , $($arg : tt )+)=>{ RenameError ( format ! ($fmt , $($arg )+))}}
|
macro_rules! __ra_macro_fixture532 {($fmt : expr )=>{ RenameError ( format ! ($fmt ))}; ($fmt : expr , $($arg : tt )+)=>{ RenameError ( format ! ($fmt , $($arg )+))}}
|
||||||
macro_rules! __ra_macro_fixture533 {($($tokens : tt )*)=>{ return Err ( format_err ! ($($tokens )*))}}
|
macro_rules! __ra_macro_fixture533 {($($tokens : tt )*)=>{ return Err ( format_err ! ($($tokens )*))}}
|
||||||
|
|
|
@ -15,9 +15,9 @@ pub enum Edition {
|
||||||
impl Edition {
|
impl Edition {
|
||||||
pub const DEFAULT: Edition = Edition::Edition2015;
|
pub const DEFAULT: Edition = Edition::Edition2015;
|
||||||
pub const LATEST: Edition = Edition::Edition2024;
|
pub const LATEST: Edition = Edition::Edition2024;
|
||||||
pub const CURRENT: Edition = Edition::Edition2021;
|
pub const CURRENT: Edition = Edition::Edition2024;
|
||||||
/// The current latest stable edition, note this is usually not the right choice in code.
|
/// The current latest stable edition, note this is usually not the right choice in code.
|
||||||
pub const CURRENT_FIXME: Edition = Edition::Edition2021;
|
pub const CURRENT_FIXME: Edition = Edition::Edition2024;
|
||||||
|
|
||||||
pub fn from_u32(u32: u32) -> Edition {
|
pub fn from_u32(u32: u32) -> Edition {
|
||||||
match u32 {
|
match u32 {
|
||||||
|
|
|
@ -56,7 +56,7 @@ impl Expander {
|
||||||
|
|
||||||
pub fn syntax_context(&self) -> SyntaxContext {
|
pub fn syntax_context(&self) -> SyntaxContext {
|
||||||
// FIXME:
|
// FIXME:
|
||||||
SyntaxContext::root(Edition::CURRENT)
|
SyntaxContext::root(Edition::CURRENT_FIXME)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn enter_expand<T: ast::AstNode>(
|
pub fn enter_expand<T: ast::AstNode>(
|
||||||
|
|
|
@ -270,7 +270,7 @@ m!();
|
||||||
// AstId: 2
|
// AstId: 2
|
||||||
pub macro m2 { ... }
|
pub macro m2 { ... }
|
||||||
|
|
||||||
// AstId: 3, SyntaxContextId: ROOT2021, ExpandTo: Items
|
// AstId: 3, SyntaxContextId: ROOT2024, ExpandTo: Items
|
||||||
m!(...);
|
m!(...);
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
|
|
@ -35,7 +35,7 @@ macro_rules! f {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
struct#0:1@58..64#20480# MyTraitMap2#0:2@31..42#ROOT2021# {#0:1@72..73#20480#
|
struct#0:1@58..64#20480# MyTraitMap2#0:2@31..42#ROOT2024# {#0:1@72..73#20480#
|
||||||
map#0:1@86..89#20480#:#0:1@89..90#20480# #0:1@89..90#20480#::#0:1@91..93#20480#std#0:1@93..96#20480#::#0:1@96..98#20480#collections#0:1@98..109#20480#::#0:1@109..111#20480#HashSet#0:1@111..118#20480#<#0:1@118..119#20480#(#0:1@119..120#20480#)#0:1@120..121#20480#>#0:1@121..122#20480#,#0:1@122..123#20480#
|
map#0:1@86..89#20480#:#0:1@89..90#20480# #0:1@89..90#20480#::#0:1@91..93#20480#std#0:1@93..96#20480#::#0:1@96..98#20480#collections#0:1@98..109#20480#::#0:1@109..111#20480#HashSet#0:1@111..118#20480#<#0:1@118..119#20480#(#0:1@119..120#20480#)#0:1@120..121#20480#>#0:1@121..122#20480#,#0:1@122..123#20480#
|
||||||
}#0:1@132..133#20480#
|
}#0:1@132..133#20480#
|
||||||
"#]],
|
"#]],
|
||||||
|
@ -75,12 +75,12 @@ macro_rules! f {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn#0:2@30..32#ROOT2021# main#0:2@33..37#ROOT2021#(#0:2@37..38#ROOT2021#)#0:2@38..39#ROOT2021# {#0:2@40..41#ROOT2021#
|
fn#0:2@30..32#ROOT2024# main#0:2@33..37#ROOT2024#(#0:2@37..38#ROOT2024#)#0:2@38..39#ROOT2024# {#0:2@40..41#ROOT2024#
|
||||||
1#0:2@50..51#ROOT2021#;#0:2@51..52#ROOT2021#
|
1#0:2@50..51#ROOT2024#;#0:2@51..52#ROOT2024#
|
||||||
1.0#0:2@61..64#ROOT2021#;#0:2@64..65#ROOT2021#
|
1.0#0:2@61..64#ROOT2024#;#0:2@64..65#ROOT2024#
|
||||||
(#0:2@74..75#ROOT2021#(#0:2@75..76#ROOT2021#1#0:2@76..77#ROOT2021#,#0:2@77..78#ROOT2021# )#0:2@78..79#ROOT2021#,#0:2@79..80#ROOT2021# )#0:2@80..81#ROOT2021#.#0:2@81..82#ROOT2021#0#0:2@82..85#ROOT2021#.#0:2@82..85#ROOT2021#0#0:2@82..85#ROOT2021#;#0:2@85..86#ROOT2021#
|
(#0:2@74..75#ROOT2024#(#0:2@75..76#ROOT2024#1#0:2@76..77#ROOT2024#,#0:2@77..78#ROOT2024# )#0:2@78..79#ROOT2024#,#0:2@79..80#ROOT2024# )#0:2@80..81#ROOT2024#.#0:2@81..82#ROOT2024#0#0:2@82..85#ROOT2024#.#0:2@82..85#ROOT2024#0#0:2@82..85#ROOT2024#;#0:2@85..86#ROOT2024#
|
||||||
let#0:2@95..98#ROOT2021# x#0:2@99..100#ROOT2021# =#0:2@101..102#ROOT2021# 1#0:2@103..104#ROOT2021#;#0:2@104..105#ROOT2021#
|
let#0:2@95..98#ROOT2024# x#0:2@99..100#ROOT2024# =#0:2@101..102#ROOT2024# 1#0:2@103..104#ROOT2024#;#0:2@104..105#ROOT2024#
|
||||||
}#0:2@110..111#ROOT2021#
|
}#0:2@110..111#ROOT2024#
|
||||||
|
|
||||||
|
|
||||||
"#]],
|
"#]],
|
||||||
|
@ -171,7 +171,7 @@ fn main(foo: ()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main(foo: ()) {
|
fn main(foo: ()) {
|
||||||
/* error: unresolved macro unresolved */"helloworld!"#0:3@236..321#ROOT2021#;
|
/* error: unresolved macro unresolved */"helloworld!"#0:3@236..321#ROOT2024#;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ macro_rules! mk_struct {
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod foo;
|
mod foo;
|
||||||
|
|
||||||
struct#1:1@59..65#20480# Foo#0:2@32..35#ROOT2021#(#1:1@70..71#20480#u32#0:2@41..44#ROOT2021#)#1:1@74..75#20480#;#1:1@75..76#20480#
|
struct#1:1@59..65#20480# Foo#0:2@32..35#ROOT2024#(#1:1@70..71#20480#u32#0:2@41..44#ROOT2024#)#1:1@74..75#20480#;#1:1@75..76#20480#
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -424,8 +424,8 @@ macro_rules! m {
|
||||||
($($i:ident),*) => ( impl Bar { $(fn $i() {})* } );
|
($($i:ident),*) => ( impl Bar { $(fn $i() {})* } );
|
||||||
}
|
}
|
||||||
impl#\20480# Bar#\20480# {#\20480#
|
impl#\20480# Bar#\20480# {#\20480#
|
||||||
fn#\20480# foo#\ROOT2021#(#\20480#)#\20480# {#\20480#}#\20480#
|
fn#\20480# foo#\ROOT2024#(#\20480#)#\20480# {#\20480#}#\20480#
|
||||||
fn#\20480# bar#\ROOT2021#(#\20480#)#\20480# {#\20480#}#\20480#
|
fn#\20480# bar#\ROOT2024#(#\20480#)#\20480# {#\20480#}#\20480#
|
||||||
}#\20480#
|
}#\20480#
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
@ -1408,7 +1408,7 @@ ok!();
|
||||||
macro_rules! m2 {
|
macro_rules! m2 {
|
||||||
($($a:expr => $b:ident)* _ => $c:expr) => { ok!(); }
|
($($a:expr => $b:ident)* _ => $c:expr) => { ok!(); }
|
||||||
}
|
}
|
||||||
ok!();
|
/* error: unexpected token in input */ok!();
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,9 +162,10 @@ fn test() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn expr_dont_match_inline_const() {
|
fn expr_inline_const() {
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
|
//- /lib.rs edition:2021
|
||||||
macro_rules! foo {
|
macro_rules! foo {
|
||||||
($e:expr) => { $e }
|
($e:expr) => { $e }
|
||||||
}
|
}
|
||||||
|
@ -181,6 +182,30 @@ macro_rules! foo {
|
||||||
fn test() {
|
fn test() {
|
||||||
/* error: no rule matches input tokens */missing;
|
/* error: no rule matches input tokens */missing;
|
||||||
}
|
}
|
||||||
|
"#]],
|
||||||
|
);
|
||||||
|
check(
|
||||||
|
r#"
|
||||||
|
//- /lib.rs edition:2024
|
||||||
|
macro_rules! foo {
|
||||||
|
($e:expr) => { $e }
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test() {
|
||||||
|
foo!(const { 3 });
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
expect![[r#"
|
||||||
|
macro_rules! foo {
|
||||||
|
($e:expr) => { $e }
|
||||||
|
}
|
||||||
|
|
||||||
|
fn test() {
|
||||||
|
(const {
|
||||||
|
3
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,9 +181,9 @@ fn foo(&self) {
|
||||||
self.0. 1;
|
self.0. 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fn#0:1@45..47#ROOT2021# foo#0:1@48..51#ROOT2021#(#0:1@51..52#ROOT2021#�:1@52..53#ROOT2021#self#0:1@53..57#ROOT2021# )#0:1@57..58#ROOT2021# {#0:1@59..60#ROOT2021#
|
fn#0:1@45..47#ROOT2024# foo#0:1@48..51#ROOT2024#(#0:1@51..52#ROOT2024#�:1@52..53#ROOT2024#self#0:1@53..57#ROOT2024# )#0:1@57..58#ROOT2024# {#0:1@59..60#ROOT2024#
|
||||||
self#0:1@65..69#ROOT2021# .#0:1@69..70#ROOT2021#0#0:1@70..71#ROOT2021#.#0:1@71..72#ROOT2021#1#0:1@73..74#ROOT2021#;#0:1@74..75#ROOT2021#
|
self#0:1@65..69#ROOT2024# .#0:1@69..70#ROOT2024#0#0:1@70..71#ROOT2024#.#0:1@71..72#ROOT2024#1#0:1@73..74#ROOT2024#;#0:1@74..75#ROOT2024#
|
||||||
}#0:1@76..77#ROOT2021#"#]],
|
}#0:1@76..77#ROOT2024#"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -277,8 +277,8 @@ mod tests {
|
||||||
assert_eq!(quoted.to_string(), "hello");
|
assert_eq!(quoted.to_string(), "hello");
|
||||||
let t = format!("{quoted:#?}");
|
let t = format!("{quoted:#?}");
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 937550:0@0..0#ROOT2021 937550:0@0..0#ROOT2021
|
SUBTREE $$ 937550:0@0..0#ROOT2024 937550:0@0..0#ROOT2024
|
||||||
IDENT hello 937550:0@0..0#ROOT2021"#]]
|
IDENT hello 937550:0@0..0#ROOT2024"#]]
|
||||||
.assert_eq(&t);
|
.assert_eq(&t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,9 @@ struct S<T> { a: T }
|
||||||
fn f<T>(_: &[T]) -> T { loop {} }
|
fn f<T>(_: &[T]) -> T { loop {} }
|
||||||
fn g<T>(_: S<&[T]>) -> T { loop {} }
|
fn g<T>(_: S<&[T]>) -> T { loop {} }
|
||||||
|
|
||||||
fn gen<T>() -> *mut [T; 2] { loop {} }
|
fn generate<T>() -> *mut [T; 2] { loop {} }
|
||||||
fn test1<U>() -> *mut [U] {
|
fn test1<U>() -> *mut [U] {
|
||||||
gen()
|
generate()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn test2() {
|
fn test2() {
|
||||||
|
|
|
@ -105,7 +105,7 @@ mod macros {
|
||||||
fn completes_std_prelude_if_core_is_defined() {
|
fn completes_std_prelude_if_core_is_defined() {
|
||||||
check_no_kw(
|
check_no_kw(
|
||||||
r#"
|
r#"
|
||||||
//- /main.rs crate:main deps:core,std
|
//- /main.rs crate:main deps:core,std edition:2021
|
||||||
fn foo() { let x: $0 }
|
fn foo() { let x: $0 }
|
||||||
|
|
||||||
//- /core/lib.rs crate:core
|
//- /core/lib.rs crate:core
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -125,7 +125,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -191,7 +191,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -224,7 +224,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: TYPE_ALIAS,
|
kind: TYPE_ALIAS,
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: CONST,
|
kind: CONST,
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: CONST,
|
kind: CONST,
|
||||||
|
@ -119,7 +119,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: ENUM,
|
kind: ENUM,
|
||||||
|
@ -152,7 +152,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -185,7 +185,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: MACRO_DEF,
|
kind: MACRO_DEF,
|
||||||
|
@ -216,7 +216,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STATIC,
|
kind: STATIC,
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -312,7 +312,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -347,7 +347,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -382,7 +382,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -415,7 +415,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -446,7 +446,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: TRAIT,
|
kind: TRAIT,
|
||||||
|
@ -479,7 +479,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -512,7 +512,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: UNION,
|
kind: UNION,
|
||||||
|
@ -547,7 +547,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: MODULE,
|
kind: MODULE,
|
||||||
|
@ -582,7 +582,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: MODULE,
|
kind: MODULE,
|
||||||
|
@ -615,7 +615,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: MACRO_RULES,
|
kind: MACRO_RULES,
|
||||||
|
@ -646,7 +646,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: FN,
|
kind: FN,
|
||||||
|
@ -679,7 +679,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: FN,
|
kind: FN,
|
||||||
|
@ -714,7 +714,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: MACRO_RULES,
|
kind: MACRO_RULES,
|
||||||
|
@ -745,7 +745,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: FN,
|
kind: FN,
|
||||||
|
@ -778,7 +778,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -809,7 +809,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: FN,
|
kind: FN,
|
||||||
|
@ -857,7 +857,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
0,
|
0,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -901,7 +901,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -934,7 +934,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -967,7 +967,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: STRUCT,
|
kind: STRUCT,
|
||||||
|
@ -1000,7 +1000,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
@ -1033,7 +1033,7 @@
|
||||||
FileId(
|
FileId(
|
||||||
1,
|
1,
|
||||||
),
|
),
|
||||||
Edition2021,
|
Edition2024,
|
||||||
),
|
),
|
||||||
ptr: SyntaxNodePtr {
|
ptr: SyntaxNodePtr {
|
||||||
kind: USE_TREE,
|
kind: USE_TREE,
|
||||||
|
|
|
@ -137,13 +137,13 @@ struct HasUnsafe;
|
||||||
impl HasUnsafe {
|
impl HasUnsafe {
|
||||||
unsafe fn unsafe_fn(&self) {
|
unsafe fn unsafe_fn(&self) {
|
||||||
let x = &5_usize as *const usize;
|
let x = &5_usize as *const usize;
|
||||||
let _y = *x;
|
let _y = unsafe {*x};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe fn unsafe_fn() {
|
unsafe fn unsafe_fn() {
|
||||||
let x = &5_usize as *const usize;
|
let x = &5_usize as *const usize;
|
||||||
let _y = *x;
|
let _y = unsafe {*x};
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -337,7 +337,7 @@ struct S(usize);
|
||||||
impl S {
|
impl S {
|
||||||
unsafe fn func(&self) {
|
unsafe fn func(&self) {
|
||||||
let x = &self.0 as *const usize;
|
let x = &self.0 as *const usize;
|
||||||
let _z = *x;
|
let _z = unsafe { *x };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn main() {
|
fn main() {
|
||||||
|
@ -350,7 +350,7 @@ struct S(usize);
|
||||||
impl S {
|
impl S {
|
||||||
unsafe fn func(&self) {
|
unsafe fn func(&self) {
|
||||||
let x = &self.0 as *const usize;
|
let x = &self.0 as *const usize;
|
||||||
let _z = *x;
|
let _z = unsafe { *x };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fn main() {
|
fn main() {
|
||||||
|
|
|
@ -1258,7 +1258,7 @@ fn foo(mut foo: Foo) {
|
||||||
|
|
||||||
pub struct A {}
|
pub struct A {}
|
||||||
pub unsafe fn foo(a: *mut A) {
|
pub unsafe fn foo(a: *mut A) {
|
||||||
let mut b = || -> *mut A { &mut *a };
|
let mut b = || -> *mut A { unsafe { &mut *a } };
|
||||||
//^^^^^ 💡 warn: variable does not need to be mutable
|
//^^^^^ 💡 warn: variable does not need to be mutable
|
||||||
let _ = b();
|
let _ = b();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2192,8 +2192,8 @@ where T : Bound
|
||||||
struct A;
|
struct A;
|
||||||
impl Bound for A{}
|
impl Bound for A{}
|
||||||
fn f() {
|
fn f() {
|
||||||
let gen = Gen::<A>(A);
|
let g = Gen::<A>(A);
|
||||||
gen.g$0();
|
g.g$0();
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
);
|
);
|
||||||
|
@ -2218,8 +2218,8 @@ where T : Bound
|
||||||
struct A;
|
struct A;
|
||||||
impl Bound for A{}
|
impl Bound for A{}
|
||||||
fn f() {
|
fn f() {
|
||||||
let gen = Gen::<A>(A);
|
let g = Gen::<A>(A);
|
||||||
gen.g$0();
|
g.g$0();
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
);
|
);
|
||||||
|
|
|
@ -1210,13 +1210,13 @@ impl Foo {
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
$0
|
$0
|
||||||
macro_rules! gen {
|
macro_rules! generate {
|
||||||
() => {
|
() => {
|
||||||
#[test]
|
#[test]
|
||||||
fn foo_test() {}
|
fn foo_test() {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
macro_rules! gen2 {
|
macro_rules! generate2 {
|
||||||
() => {
|
() => {
|
||||||
mod tests2 {
|
mod tests2 {
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -1224,25 +1224,25 @@ macro_rules! gen2 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
macro_rules! gen_main {
|
macro_rules! generate_main {
|
||||||
() => {
|
() => {
|
||||||
fn main() {}
|
fn main() {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mod tests {
|
mod tests {
|
||||||
gen!();
|
generate!();
|
||||||
}
|
}
|
||||||
gen2!();
|
generate2!();
|
||||||
gen_main!();
|
generate_main!();
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
[
|
[
|
||||||
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 0..315, name: \"\", kind: Module })",
|
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 0..345, name: \"\", kind: Module })",
|
||||||
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 267..292, focus_range: 271..276, name: \"tests\", kind: Module, description: \"mod tests\" })",
|
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 282..312, focus_range: 286..291, name: \"tests\", kind: Module, description: \"mod tests\" })",
|
||||||
"(Test, NavigationTarget { file_id: FileId(0), full_range: 283..290, name: \"foo_test\", kind: Function })",
|
"(Test, NavigationTarget { file_id: FileId(0), full_range: 298..310, name: \"foo_test\", kind: Function })",
|
||||||
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 293..301, name: \"tests2\", kind: Module, description: \"mod tests2\" }, true)",
|
"(TestMod, NavigationTarget { file_id: FileId(0), full_range: 313..326, name: \"tests2\", kind: Module, description: \"mod tests2\" }, true)",
|
||||||
"(Test, NavigationTarget { file_id: FileId(0), full_range: 293..301, name: \"foo_test2\", kind: Function }, true)",
|
"(Test, NavigationTarget { file_id: FileId(0), full_range: 313..326, name: \"foo_test2\", kind: Function }, true)",
|
||||||
"(Bin, NavigationTarget { file_id: FileId(0), full_range: 302..314, name: \"main\", kind: Function })",
|
"(Bin, NavigationTarget { file_id: FileId(0), full_range: 327..344, name: \"main\", kind: Function })",
|
||||||
]
|
]
|
||||||
"#]],
|
"#]],
|
||||||
);
|
);
|
||||||
|
|
|
@ -109,8 +109,8 @@ fn unbalanced_brace() {
|
||||||
"#,
|
"#,
|
||||||
r#""#,
|
r#""#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 1:0@0..0#ROOT2021 1:0@0..0#ROOT2021
|
SUBTREE $$ 1:0@0..0#ROOT2024 1:0@0..0#ROOT2024
|
||||||
SUBTREE {} 0:0@9..10#ROOT2021 0:0@11..12#ROOT2021
|
SUBTREE {} 0:0@9..10#ROOT2024 0:0@11..12#ROOT2024
|
||||||
|
|
||||||
{}"#]],
|
{}"#]],
|
||||||
);
|
);
|
||||||
|
@ -132,25 +132,25 @@ fn token_mapping_smoke_test() {
|
||||||
struct MyTraitMap2
|
struct MyTraitMap2
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 1:0@0..20#ROOT2021 1:0@0..20#ROOT2021
|
SUBTREE $$ 1:0@0..20#ROOT2024 1:0@0..20#ROOT2024
|
||||||
IDENT struct 0:0@34..40#ROOT2021
|
IDENT struct 0:0@34..40#ROOT2024
|
||||||
IDENT MyTraitMap2 1:0@8..19#ROOT2021
|
IDENT MyTraitMap2 1:0@8..19#ROOT2024
|
||||||
SUBTREE {} 0:0@48..49#ROOT2021 0:0@100..101#ROOT2021
|
SUBTREE {} 0:0@48..49#ROOT2024 0:0@100..101#ROOT2024
|
||||||
IDENT map 0:0@58..61#ROOT2021
|
IDENT map 0:0@58..61#ROOT2024
|
||||||
PUNCH : [alone] 0:0@61..62#ROOT2021
|
PUNCH : [alone] 0:0@61..62#ROOT2024
|
||||||
PUNCH : [joint] 0:0@63..64#ROOT2021
|
PUNCH : [joint] 0:0@63..64#ROOT2024
|
||||||
PUNCH : [alone] 0:0@64..65#ROOT2021
|
PUNCH : [alone] 0:0@64..65#ROOT2024
|
||||||
IDENT std 0:0@65..68#ROOT2021
|
IDENT std 0:0@65..68#ROOT2024
|
||||||
PUNCH : [joint] 0:0@68..69#ROOT2021
|
PUNCH : [joint] 0:0@68..69#ROOT2024
|
||||||
PUNCH : [alone] 0:0@69..70#ROOT2021
|
PUNCH : [alone] 0:0@69..70#ROOT2024
|
||||||
IDENT collections 0:0@70..81#ROOT2021
|
IDENT collections 0:0@70..81#ROOT2024
|
||||||
PUNCH : [joint] 0:0@81..82#ROOT2021
|
PUNCH : [joint] 0:0@81..82#ROOT2024
|
||||||
PUNCH : [alone] 0:0@82..83#ROOT2021
|
PUNCH : [alone] 0:0@82..83#ROOT2024
|
||||||
IDENT HashSet 0:0@83..90#ROOT2021
|
IDENT HashSet 0:0@83..90#ROOT2024
|
||||||
PUNCH < [alone] 0:0@90..91#ROOT2021
|
PUNCH < [alone] 0:0@90..91#ROOT2024
|
||||||
SUBTREE () 0:0@91..92#ROOT2021 0:0@92..93#ROOT2021
|
SUBTREE () 0:0@91..92#ROOT2024 0:0@92..93#ROOT2024
|
||||||
PUNCH > [joint] 0:0@93..94#ROOT2021
|
PUNCH > [joint] 0:0@93..94#ROOT2024
|
||||||
PUNCH , [alone] 0:0@94..95#ROOT2021
|
PUNCH , [alone] 0:0@94..95#ROOT2024
|
||||||
|
|
||||||
struct MyTraitMap2 {
|
struct MyTraitMap2 {
|
||||||
map: ::std::collections::HashSet<()>,
|
map: ::std::collections::HashSet<()>,
|
||||||
|
@ -179,28 +179,28 @@ fn main() {
|
||||||
}
|
}
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 1:0@0..63#ROOT2021 1:0@0..63#ROOT2021
|
SUBTREE $$ 1:0@0..63#ROOT2024 1:0@0..63#ROOT2024
|
||||||
IDENT fn 1:0@1..3#ROOT2021
|
IDENT fn 1:0@1..3#ROOT2024
|
||||||
IDENT main 1:0@4..8#ROOT2021
|
IDENT main 1:0@4..8#ROOT2024
|
||||||
SUBTREE () 1:0@8..9#ROOT2021 1:0@9..10#ROOT2021
|
SUBTREE () 1:0@8..9#ROOT2024 1:0@9..10#ROOT2024
|
||||||
SUBTREE {} 1:0@11..12#ROOT2021 1:0@61..62#ROOT2021
|
SUBTREE {} 1:0@11..12#ROOT2024 1:0@61..62#ROOT2024
|
||||||
LITERAL Integer 1 1:0@17..18#ROOT2021
|
LITERAL Integer 1 1:0@17..18#ROOT2024
|
||||||
PUNCH ; [alone] 1:0@18..19#ROOT2021
|
PUNCH ; [alone] 1:0@18..19#ROOT2024
|
||||||
LITERAL Float 1.0 1:0@24..27#ROOT2021
|
LITERAL Float 1.0 1:0@24..27#ROOT2024
|
||||||
PUNCH ; [alone] 1:0@27..28#ROOT2021
|
PUNCH ; [alone] 1:0@27..28#ROOT2024
|
||||||
SUBTREE () 1:0@33..34#ROOT2021 1:0@39..40#ROOT2021
|
SUBTREE () 1:0@33..34#ROOT2024 1:0@39..40#ROOT2024
|
||||||
SUBTREE () 1:0@34..35#ROOT2021 1:0@37..38#ROOT2021
|
SUBTREE () 1:0@34..35#ROOT2024 1:0@37..38#ROOT2024
|
||||||
LITERAL Integer 1 1:0@35..36#ROOT2021
|
LITERAL Integer 1 1:0@35..36#ROOT2024
|
||||||
PUNCH , [alone] 1:0@36..37#ROOT2021
|
PUNCH , [alone] 1:0@36..37#ROOT2024
|
||||||
PUNCH , [alone] 1:0@38..39#ROOT2021
|
PUNCH , [alone] 1:0@38..39#ROOT2024
|
||||||
PUNCH . [alone] 1:0@40..41#ROOT2021
|
PUNCH . [alone] 1:0@40..41#ROOT2024
|
||||||
LITERAL Float 0.0 1:0@41..44#ROOT2021
|
LITERAL Float 0.0 1:0@41..44#ROOT2024
|
||||||
PUNCH ; [alone] 1:0@44..45#ROOT2021
|
PUNCH ; [alone] 1:0@44..45#ROOT2024
|
||||||
IDENT let 1:0@50..53#ROOT2021
|
IDENT let 1:0@50..53#ROOT2024
|
||||||
IDENT x 1:0@54..55#ROOT2021
|
IDENT x 1:0@54..55#ROOT2024
|
||||||
PUNCH = [alone] 1:0@56..57#ROOT2021
|
PUNCH = [alone] 1:0@56..57#ROOT2024
|
||||||
LITERAL Integer 1 1:0@58..59#ROOT2021
|
LITERAL Integer 1 1:0@58..59#ROOT2024
|
||||||
PUNCH ; [alone] 1:0@59..60#ROOT2021
|
PUNCH ; [alone] 1:0@59..60#ROOT2024
|
||||||
|
|
||||||
fn main(){
|
fn main(){
|
||||||
1;
|
1;
|
||||||
|
@ -226,14 +226,14 @@ fn expr_2021() {
|
||||||
const { 1 },
|
const { 1 },
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 1:0@0..25#ROOT2021 1:0@0..25#ROOT2021
|
SUBTREE $$ 1:0@0..25#ROOT2024 1:0@0..25#ROOT2024
|
||||||
IDENT _ 1:0@5..6#ROOT2021
|
IDENT _ 1:0@5..6#ROOT2024
|
||||||
PUNCH ; [joint] 0:0@36..37#ROOT2021
|
PUNCH ; [joint] 0:0@36..37#ROOT2024
|
||||||
SUBTREE () 0:0@34..35#ROOT2021 0:0@34..35#ROOT2021
|
SUBTREE () 0:0@34..35#ROOT2024 0:0@34..35#ROOT2024
|
||||||
IDENT const 1:0@12..17#ROOT2021
|
IDENT const 1:0@12..17#ROOT2024
|
||||||
SUBTREE {} 1:0@18..19#ROOT2021 1:0@22..23#ROOT2021
|
SUBTREE {} 1:0@18..19#ROOT2024 1:0@22..23#ROOT2024
|
||||||
LITERAL Integer 1 1:0@20..21#ROOT2021
|
LITERAL Integer 1 1:0@20..21#ROOT2024
|
||||||
PUNCH ; [alone] 0:0@39..40#ROOT2021
|
PUNCH ; [alone] 0:0@39..40#ROOT2024
|
||||||
|
|
||||||
_;
|
_;
|
||||||
(const {
|
(const {
|
||||||
|
@ -254,13 +254,13 @@ fn expr_2021() {
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
ExpandError {
|
ExpandError {
|
||||||
inner: (
|
inner: (
|
||||||
1:0@5..6#ROOT2021,
|
1:0@5..6#ROOT2024,
|
||||||
NoMatchingRule,
|
NoMatchingRule,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SUBTREE $$ 1:0@0..8#ROOT2021 1:0@0..8#ROOT2021
|
SUBTREE $$ 1:0@0..8#ROOT2024 1:0@0..8#ROOT2024
|
||||||
PUNCH ; [alone] 0:0@39..40#ROOT2021
|
PUNCH ; [alone] 0:0@39..40#ROOT2024
|
||||||
|
|
||||||
;"#]],
|
;"#]],
|
||||||
);
|
);
|
||||||
|
@ -278,13 +278,13 @@ fn expr_2021() {
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
ExpandError {
|
ExpandError {
|
||||||
inner: (
|
inner: (
|
||||||
1:0@5..10#ROOT2021,
|
1:0@5..10#ROOT2024,
|
||||||
NoMatchingRule,
|
NoMatchingRule,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SUBTREE $$ 1:0@0..18#ROOT2021 1:0@0..18#ROOT2021
|
SUBTREE $$ 1:0@0..18#ROOT2024 1:0@0..18#ROOT2024
|
||||||
PUNCH ; [alone] 0:0@39..40#ROOT2021
|
PUNCH ; [alone] 0:0@39..40#ROOT2024
|
||||||
|
|
||||||
;"#]],
|
;"#]],
|
||||||
);
|
);
|
||||||
|
@ -304,26 +304,26 @@ fn expr_2021() {
|
||||||
break 'foo bar,
|
break 'foo bar,
|
||||||
"#,
|
"#,
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 1:0@0..76#ROOT2021 1:0@0..76#ROOT2021
|
SUBTREE $$ 1:0@0..76#ROOT2024 1:0@0..76#ROOT2024
|
||||||
LITERAL Integer 4 1:0@5..6#ROOT2021
|
LITERAL Integer 4 1:0@5..6#ROOT2024
|
||||||
PUNCH ; [joint] 0:0@41..42#ROOT2021
|
PUNCH ; [joint] 0:0@41..42#ROOT2024
|
||||||
LITERAL Str literal 1:0@12..21#ROOT2021
|
LITERAL Str literal 1:0@12..21#ROOT2024
|
||||||
PUNCH ; [joint] 0:0@41..42#ROOT2021
|
PUNCH ; [joint] 0:0@41..42#ROOT2024
|
||||||
SUBTREE () 0:0@39..40#ROOT2021 0:0@39..40#ROOT2021
|
SUBTREE () 0:0@39..40#ROOT2024 0:0@39..40#ROOT2024
|
||||||
IDENT funcall 1:0@27..34#ROOT2021
|
IDENT funcall 1:0@27..34#ROOT2024
|
||||||
SUBTREE () 1:0@34..35#ROOT2021 1:0@35..36#ROOT2021
|
SUBTREE () 1:0@34..35#ROOT2024 1:0@35..36#ROOT2024
|
||||||
PUNCH ; [joint] 0:0@41..42#ROOT2021
|
PUNCH ; [joint] 0:0@41..42#ROOT2024
|
||||||
SUBTREE () 0:0@39..40#ROOT2021 0:0@39..40#ROOT2021
|
SUBTREE () 0:0@39..40#ROOT2024 0:0@39..40#ROOT2024
|
||||||
IDENT future 1:0@42..48#ROOT2021
|
IDENT future 1:0@42..48#ROOT2024
|
||||||
PUNCH . [alone] 1:0@48..49#ROOT2021
|
PUNCH . [alone] 1:0@48..49#ROOT2024
|
||||||
IDENT await 1:0@49..54#ROOT2021
|
IDENT await 1:0@49..54#ROOT2024
|
||||||
PUNCH ; [joint] 0:0@41..42#ROOT2021
|
PUNCH ; [joint] 0:0@41..42#ROOT2024
|
||||||
SUBTREE () 0:0@39..40#ROOT2021 0:0@39..40#ROOT2021
|
SUBTREE () 0:0@39..40#ROOT2024 0:0@39..40#ROOT2024
|
||||||
IDENT break 1:0@60..65#ROOT2021
|
IDENT break 1:0@60..65#ROOT2024
|
||||||
PUNCH ' [joint] 1:0@66..67#ROOT2021
|
PUNCH ' [joint] 1:0@66..67#ROOT2024
|
||||||
IDENT foo 1:0@67..70#ROOT2021
|
IDENT foo 1:0@67..70#ROOT2024
|
||||||
IDENT bar 1:0@71..74#ROOT2021
|
IDENT bar 1:0@71..74#ROOT2024
|
||||||
PUNCH ; [alone] 0:0@44..45#ROOT2021
|
PUNCH ; [alone] 0:0@44..45#ROOT2024
|
||||||
|
|
||||||
4;
|
4;
|
||||||
"literal";
|
"literal";
|
||||||
|
@ -345,13 +345,13 @@ fn expr_2021() {
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
ExpandError {
|
ExpandError {
|
||||||
inner: (
|
inner: (
|
||||||
1:0@5..6#ROOT2021,
|
1:0@5..6#ROOT2024,
|
||||||
NoMatchingRule,
|
NoMatchingRule,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
SUBTREE $$ 1:0@0..8#ROOT2021 1:0@0..8#ROOT2021
|
SUBTREE $$ 1:0@0..8#ROOT2024 1:0@0..8#ROOT2024
|
||||||
PUNCH ; [alone] 0:0@44..45#ROOT2021
|
PUNCH ; [alone] 0:0@44..45#ROOT2024
|
||||||
|
|
||||||
;"#]],
|
;"#]],
|
||||||
);
|
);
|
||||||
|
|
|
@ -132,7 +132,7 @@ pub(super) fn opt_item(p: &mut Parser<'_>, m: Marker, is_in_extern: bool) -> Res
|
||||||
has_mods = true;
|
has_mods = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// test_err gen_fn
|
// test_err gen_fn 2021
|
||||||
// gen fn gen_fn() {}
|
// gen fn gen_fn() {}
|
||||||
// async gen fn async_gen_fn() {}
|
// async gen fn async_gen_fn() {}
|
||||||
if p.at(T![gen]) && p.nth(1) == T![fn] {
|
if p.at(T![gen]) && p.nth(1) == T![fn] {
|
||||||
|
|
|
@ -745,7 +745,12 @@ mod err {
|
||||||
run_and_expect_errors("test_data/parser/inline/err/fn_pointer_type_missing_fn.rs");
|
run_and_expect_errors("test_data/parser/inline/err/fn_pointer_type_missing_fn.rs");
|
||||||
}
|
}
|
||||||
#[test]
|
#[test]
|
||||||
fn gen_fn() { run_and_expect_errors("test_data/parser/inline/err/gen_fn.rs"); }
|
fn gen_fn() {
|
||||||
|
run_and_expect_errors_with_edition(
|
||||||
|
"test_data/parser/inline/err/gen_fn.rs",
|
||||||
|
crate::Edition::Edition2021,
|
||||||
|
);
|
||||||
|
}
|
||||||
#[test]
|
#[test]
|
||||||
fn generic_arg_list_recover() {
|
fn generic_arg_list_recover() {
|
||||||
run_and_expect_errors("test_data/parser/inline/err/generic_arg_list_recover.rs");
|
run_and_expect_errors("test_data/parser/inline/err/generic_arg_list_recover.rs");
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
SOURCE_FILE
|
SOURCE_FILE
|
||||||
|
COMMENT "// 2021"
|
||||||
|
WHITESPACE "\n"
|
||||||
ERROR
|
ERROR
|
||||||
PATH
|
PATH
|
||||||
PATH_SEGMENT
|
PATH_SEGMENT
|
||||||
|
@ -42,6 +44,6 @@ SOURCE_FILE
|
||||||
L_CURLY "{"
|
L_CURLY "{"
|
||||||
R_CURLY "}"
|
R_CURLY "}"
|
||||||
WHITESPACE "\n"
|
WHITESPACE "\n"
|
||||||
error 3: expected an item
|
error 11: expected an item
|
||||||
error 24: expected fn, trait or impl
|
error 32: expected fn, trait or impl
|
||||||
error 28: expected an item
|
error 36: expected an item
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
|
// 2021
|
||||||
gen fn gen_fn() {}
|
gen fn gen_fn() {}
|
||||||
async gen fn async_gen_fn() {}
|
async gen fn async_gen_fn() {}
|
||||||
|
|
|
@ -12,7 +12,7 @@ fn test_derive_empty() {
|
||||||
"DeriveEmpty",
|
"DeriveEmpty",
|
||||||
r#"struct S;"#,
|
r#"struct S;"#,
|
||||||
expect!["SUBTREE $$ 1 1"],
|
expect!["SUBTREE $$ 1 1"],
|
||||||
expect!["SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021"],
|
expect!["SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024"],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,12 +29,12 @@ fn test_derive_error() {
|
||||||
LITERAL Str #[derive(DeriveError)] struct S ; 1
|
LITERAL Str #[derive(DeriveError)] struct S ; 1
|
||||||
PUNCH ; [alone] 1"#]],
|
PUNCH ; [alone] 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT compile_error 42:2@0..100#ROOT2021
|
IDENT compile_error 42:2@0..100#ROOT2024
|
||||||
PUNCH ! [alone] 42:2@0..100#ROOT2021
|
PUNCH ! [alone] 42:2@0..100#ROOT2024
|
||||||
SUBTREE () 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE () 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
LITERAL Str #[derive(DeriveError)] struct S ; 42:2@0..100#ROOT2021
|
LITERAL Str #[derive(DeriveError)] struct S ; 42:2@0..100#ROOT2024
|
||||||
PUNCH ; [alone] 42:2@0..100#ROOT2021"#]],
|
PUNCH ; [alone] 42:2@0..100#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,14 +53,14 @@ fn test_fn_like_macro_noop() {
|
||||||
PUNCH , [alone] 1
|
PUNCH , [alone] 1
|
||||||
SUBTREE [] 1 1"#]],
|
SUBTREE [] 1 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT ident 42:2@0..5#ROOT2021
|
IDENT ident 42:2@0..5#ROOT2024
|
||||||
PUNCH , [alone] 42:2@5..6#ROOT2021
|
PUNCH , [alone] 42:2@5..6#ROOT2024
|
||||||
LITERAL Integer 0 42:2@7..8#ROOT2021
|
LITERAL Integer 0 42:2@7..8#ROOT2024
|
||||||
PUNCH , [alone] 42:2@8..9#ROOT2021
|
PUNCH , [alone] 42:2@8..9#ROOT2024
|
||||||
LITERAL Integer 1 42:2@10..11#ROOT2021
|
LITERAL Integer 1 42:2@10..11#ROOT2024
|
||||||
PUNCH , [alone] 42:2@11..12#ROOT2021
|
PUNCH , [alone] 42:2@11..12#ROOT2024
|
||||||
SUBTREE [] 42:2@13..14#ROOT2021 42:2@14..15#ROOT2021"#]],
|
SUBTREE [] 42:2@13..14#ROOT2024 42:2@14..15#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,10 +75,10 @@ fn test_fn_like_macro_clone_ident_subtree() {
|
||||||
PUNCH , [alone] 1
|
PUNCH , [alone] 1
|
||||||
SUBTREE [] 1 1"#]],
|
SUBTREE [] 1 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT ident 42:2@0..5#ROOT2021
|
IDENT ident 42:2@0..5#ROOT2024
|
||||||
PUNCH , [alone] 42:2@5..6#ROOT2021
|
PUNCH , [alone] 42:2@5..6#ROOT2024
|
||||||
SUBTREE [] 42:2@7..8#ROOT2021 42:2@7..8#ROOT2021"#]],
|
SUBTREE [] 42:2@7..8#ROOT2024 42:2@7..8#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,8 +91,8 @@ fn test_fn_like_macro_clone_raw_ident() {
|
||||||
SUBTREE $$ 1 1
|
SUBTREE $$ 1 1
|
||||||
IDENT r#async 1"#]],
|
IDENT r#async 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT r#async 42:2@0..7#ROOT2021"#]],
|
IDENT r#async 42:2@0..7#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,8 +105,8 @@ fn test_fn_like_fn_like_span_join() {
|
||||||
SUBTREE $$ 1 1
|
SUBTREE $$ 1 1
|
||||||
IDENT r#joined 1"#]],
|
IDENT r#joined 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT r#joined 42:2@0..11#ROOT2021"#]],
|
IDENT r#joined 42:2@0..11#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,10 +121,10 @@ fn test_fn_like_fn_like_span_ops() {
|
||||||
IDENT resolved_at_def_site 1
|
IDENT resolved_at_def_site 1
|
||||||
IDENT start_span 1"#]],
|
IDENT start_span 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT set_def_site 41:1@0..150#ROOT2021
|
IDENT set_def_site 41:1@0..150#ROOT2024
|
||||||
IDENT resolved_at_def_site 42:2@13..33#ROOT2021
|
IDENT resolved_at_def_site 42:2@13..33#ROOT2024
|
||||||
IDENT start_span 42:2@34..34#ROOT2021"#]],
|
IDENT start_span 42:2@34..34#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,14 +143,14 @@ fn test_fn_like_mk_literals() {
|
||||||
LITERAL Integer 123i64 1
|
LITERAL Integer 123i64 1
|
||||||
LITERAL Integer 123 1"#]],
|
LITERAL Integer 123 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
LITERAL ByteStr byte_string 42:2@0..100#ROOT2021
|
LITERAL ByteStr byte_string 42:2@0..100#ROOT2024
|
||||||
LITERAL Char c 42:2@0..100#ROOT2021
|
LITERAL Char c 42:2@0..100#ROOT2024
|
||||||
LITERAL Str string 42:2@0..100#ROOT2021
|
LITERAL Str string 42:2@0..100#ROOT2024
|
||||||
LITERAL Float 3.14f64 42:2@0..100#ROOT2021
|
LITERAL Float 3.14f64 42:2@0..100#ROOT2024
|
||||||
LITERAL Float 3.14 42:2@0..100#ROOT2021
|
LITERAL Float 3.14 42:2@0..100#ROOT2024
|
||||||
LITERAL Integer 123i64 42:2@0..100#ROOT2021
|
LITERAL Integer 123i64 42:2@0..100#ROOT2024
|
||||||
LITERAL Integer 123 42:2@0..100#ROOT2021"#]],
|
LITERAL Integer 123 42:2@0..100#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -164,9 +164,9 @@ fn test_fn_like_mk_idents() {
|
||||||
IDENT standard 1
|
IDENT standard 1
|
||||||
IDENT r#raw 1"#]],
|
IDENT r#raw 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT standard 42:2@0..100#ROOT2021
|
IDENT standard 42:2@0..100#ROOT2024
|
||||||
IDENT r#raw 42:2@0..100#ROOT2021"#]],
|
IDENT r#raw 42:2@0..100#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,27 +198,27 @@ fn test_fn_like_macro_clone_literals() {
|
||||||
PUNCH , [alone] 1
|
PUNCH , [alone] 1
|
||||||
LITERAL CStr null 1"#]],
|
LITERAL CStr null 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
LITERAL Integer 1u16 42:2@0..4#ROOT2021
|
LITERAL Integer 1u16 42:2@0..4#ROOT2024
|
||||||
PUNCH , [alone] 42:2@4..5#ROOT2021
|
PUNCH , [alone] 42:2@4..5#ROOT2024
|
||||||
LITERAL Integer 2_u32 42:2@6..11#ROOT2021
|
LITERAL Integer 2_u32 42:2@6..11#ROOT2024
|
||||||
PUNCH , [alone] 42:2@11..12#ROOT2021
|
PUNCH , [alone] 42:2@11..12#ROOT2024
|
||||||
PUNCH - [alone] 42:2@13..14#ROOT2021
|
PUNCH - [alone] 42:2@13..14#ROOT2024
|
||||||
LITERAL Integer 4i64 42:2@14..18#ROOT2021
|
LITERAL Integer 4i64 42:2@14..18#ROOT2024
|
||||||
PUNCH , [alone] 42:2@18..19#ROOT2021
|
PUNCH , [alone] 42:2@18..19#ROOT2024
|
||||||
LITERAL Float 3.14f32 42:2@20..27#ROOT2021
|
LITERAL Float 3.14f32 42:2@20..27#ROOT2024
|
||||||
PUNCH , [alone] 42:2@27..28#ROOT2021
|
PUNCH , [alone] 42:2@27..28#ROOT2024
|
||||||
LITERAL Str hello bridge 42:2@29..43#ROOT2021
|
LITERAL Str hello bridge 42:2@29..43#ROOT2024
|
||||||
PUNCH , [alone] 42:2@43..44#ROOT2021
|
PUNCH , [alone] 42:2@43..44#ROOT2024
|
||||||
LITERAL Str suffixedsuffix 42:2@45..61#ROOT2021
|
LITERAL Str suffixedsuffix 42:2@45..61#ROOT2024
|
||||||
PUNCH , [alone] 42:2@61..62#ROOT2021
|
PUNCH , [alone] 42:2@61..62#ROOT2024
|
||||||
LITERAL StrRaw(2) raw 42:2@63..73#ROOT2021
|
LITERAL StrRaw(2) raw 42:2@63..73#ROOT2024
|
||||||
PUNCH , [alone] 42:2@73..74#ROOT2021
|
PUNCH , [alone] 42:2@73..74#ROOT2024
|
||||||
LITERAL Char a 42:2@75..78#ROOT2021
|
LITERAL Char a 42:2@75..78#ROOT2024
|
||||||
PUNCH , [alone] 42:2@78..79#ROOT2021
|
PUNCH , [alone] 42:2@78..79#ROOT2024
|
||||||
LITERAL Byte b 42:2@80..84#ROOT2021
|
LITERAL Byte b 42:2@80..84#ROOT2024
|
||||||
PUNCH , [alone] 42:2@84..85#ROOT2021
|
PUNCH , [alone] 42:2@84..85#ROOT2024
|
||||||
LITERAL CStr null 42:2@86..93#ROOT2021"#]],
|
LITERAL CStr null 42:2@86..93#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,12 +239,12 @@ fn test_attr_macro() {
|
||||||
LITERAL Str #[attr_error(some arguments)] mod m {} 1
|
LITERAL Str #[attr_error(some arguments)] mod m {} 1
|
||||||
PUNCH ; [alone] 1"#]],
|
PUNCH ; [alone] 1"#]],
|
||||||
expect![[r#"
|
expect![[r#"
|
||||||
SUBTREE $$ 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE $$ 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
IDENT compile_error 42:2@0..100#ROOT2021
|
IDENT compile_error 42:2@0..100#ROOT2024
|
||||||
PUNCH ! [alone] 42:2@0..100#ROOT2021
|
PUNCH ! [alone] 42:2@0..100#ROOT2024
|
||||||
SUBTREE () 42:2@0..100#ROOT2021 42:2@0..100#ROOT2021
|
SUBTREE () 42:2@0..100#ROOT2024 42:2@0..100#ROOT2024
|
||||||
LITERAL Str #[attr_error(some arguments)] mod m {} 42:2@0..100#ROOT2021
|
LITERAL Str #[attr_error(some arguments)] mod m {} 42:2@0..100#ROOT2024
|
||||||
PUNCH ; [alone] 42:2@0..100#ROOT2021"#]],
|
PUNCH ; [alone] 42:2@0..100#ROOT2024"#]],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,7 @@ impl ChangeFixture {
|
||||||
let mut crates = FxHashMap::default();
|
let mut crates = FxHashMap::default();
|
||||||
let mut crate_deps = Vec::new();
|
let mut crate_deps = Vec::new();
|
||||||
let mut default_crate_root: Option<FileId> = None;
|
let mut default_crate_root: Option<FileId> = None;
|
||||||
|
let mut default_edition = Edition::CURRENT;
|
||||||
let mut default_cfg = CfgOptions::default();
|
let mut default_cfg = CfgOptions::default();
|
||||||
let mut default_env = Env::from_iter([(
|
let mut default_env = Env::from_iter([(
|
||||||
String::from("__ra_is_test_fixture"),
|
String::from("__ra_is_test_fixture"),
|
||||||
|
@ -228,6 +229,7 @@ impl ChangeFixture {
|
||||||
} else if meta.path == "/main.rs" || meta.path == "/lib.rs" {
|
} else if meta.path == "/main.rs" || meta.path == "/lib.rs" {
|
||||||
assert!(default_crate_root.is_none());
|
assert!(default_crate_root.is_none());
|
||||||
default_crate_root = Some(file_id);
|
default_crate_root = Some(file_id);
|
||||||
|
default_edition = meta.edition;
|
||||||
default_cfg.extend(meta.cfg.into_iter());
|
default_cfg.extend(meta.cfg.into_iter());
|
||||||
default_env.extend_from_other(&meta.env);
|
default_env.extend_from_other(&meta.env);
|
||||||
}
|
}
|
||||||
|
@ -244,7 +246,7 @@ impl ChangeFixture {
|
||||||
.expect("missing default crate root, specify a main.rs or lib.rs");
|
.expect("missing default crate root, specify a main.rs or lib.rs");
|
||||||
crate_graph.add_crate_root(
|
crate_graph.add_crate_root(
|
||||||
crate_root,
|
crate_root,
|
||||||
Edition::CURRENT,
|
default_edition,
|
||||||
Some(CrateName::new("ra_test_fixture").unwrap().into()),
|
Some(CrateName::new("ra_test_fixture").unwrap().into()),
|
||||||
None,
|
None,
|
||||||
default_cfg.clone(),
|
default_cfg.clone(),
|
||||||
|
|
|
@ -423,10 +423,12 @@ pub mod ptr {
|
||||||
unsafe { drop_in_place(to_drop) }
|
unsafe { drop_in_place(to_drop) }
|
||||||
}
|
}
|
||||||
pub const unsafe fn read<T>(src: *const T) -> T {
|
pub const unsafe fn read<T>(src: *const T) -> T {
|
||||||
*src
|
unsafe { *src }
|
||||||
}
|
}
|
||||||
pub const unsafe fn write<T>(dst: *mut T, src: T) {
|
pub const unsafe fn write<T>(dst: *mut T, src: T) {
|
||||||
*dst = src;
|
unsafe {
|
||||||
|
*dst = src;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// endregion:drop
|
// endregion:drop
|
||||||
|
|
||||||
|
@ -1480,9 +1482,9 @@ pub mod iter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub use self::repeat::{repeat, Repeat};
|
pub use self::repeat::{Repeat, repeat};
|
||||||
}
|
}
|
||||||
pub use self::sources::{repeat, Repeat};
|
pub use self::sources::{Repeat, repeat};
|
||||||
// endregion:iterators
|
// endregion:iterators
|
||||||
|
|
||||||
mod traits {
|
mod traits {
|
||||||
|
@ -1811,11 +1813,7 @@ pub mod num {
|
||||||
#[lang = "bool"]
|
#[lang = "bool"]
|
||||||
impl bool {
|
impl bool {
|
||||||
pub fn then<T, F: FnOnce() -> T>(self, f: F) -> Option<T> {
|
pub fn then<T, F: FnOnce() -> T>(self, f: F) -> Option<T> {
|
||||||
if self {
|
if self { Some(f()) } else { None }
|
||||||
Some(f())
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// endregion:bool_impl
|
// endregion:bool_impl
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue