always show token text

This commit is contained in:
Aleksey Kladov 2019-04-02 14:04:23 +03:00
parent 2d680ff93a
commit 7d6bd5d137
221 changed files with 8921 additions and 8921 deletions

View file

@ -93,6 +93,8 @@ fn syntax_tree_for_token(node: SyntaxToken, text_range: TextRange) -> Option<Str
#[cfg(test)]
mod tests {
use test_utils::assert_eq_text;
use crate::mock_analysis::{single_file, single_file_with_range};
#[test]
@ -101,23 +103,23 @@ mod tests {
let (analysis, file_id) = single_file(r#"fn foo() {}"#);
let syn = analysis.syntax_tree(file_id, None);
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
SOURCE_FILE@[0; 11)
FN_DEF@[0; 11)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 11)
L_CURLY@[9; 10)
R_CURLY@[10; 11)
"#
L_CURLY@[9; 10) "{"
R_CURLY@[10; 11) "}"
"#
.trim()
);
@ -133,40 +135,40 @@ fn test() {
);
let syn = analysis.syntax_tree(file_id, None);
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
SOURCE_FILE@[0; 60)
FN_DEF@[0; 60)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "test"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 60)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
EXPR_STMT@[16; 58)
MACRO_CALL@[16; 57)
PATH@[16; 22)
PATH_SEGMENT@[16; 22)
NAME_REF@[16; 22)
IDENT@[16; 22) "assert"
EXCL@[22; 23)
EXCL@[22; 23) "!"
TOKEN_TREE@[23; 57)
L_PAREN@[23; 24)
STRING@[24; 52)
COMMA@[52; 53)
WHITESPACE@[53; 54)
STRING@[54; 56)
R_PAREN@[56; 57)
SEMI@[57; 58)
WHITESPACE@[58; 59)
R_CURLY@[59; 60)
"#
L_PAREN@[23; 24) "("
STRING@[24; 52) "\"\n fn foo() {\n ..."
COMMA@[52; 53) ","
WHITESPACE@[53; 54) " "
STRING@[54; 56) "\"\""
R_PAREN@[56; 57) ")"
SEMI@[57; 58) ";"
WHITESPACE@[58; 59) "\n"
R_CURLY@[59; 60) "}"
"#
.trim()
);
}
@ -176,22 +178,22 @@ SOURCE_FILE@[0; 60)
let (analysis, range) = single_file_with_range(r#"<|>fn foo() {}<|>"#.trim());
let syn = analysis.syntax_tree(range.file_id, Some(range.range));
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
FN_DEF@[0; 11)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 11)
L_CURLY@[9; 10)
R_CURLY@[10; 11)
"#
L_CURLY@[9; 10) "{"
R_CURLY@[10; 11) "}"
"#
.trim()
);
@ -206,7 +208,7 @@ FN_DEF@[0; 11)
);
let syn = analysis.syntax_tree(range.file_id, Some(range.range));
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
EXPR_STMT@[16; 58)
@ -215,16 +217,16 @@ EXPR_STMT@[16; 58)
PATH_SEGMENT@[16; 22)
NAME_REF@[16; 22)
IDENT@[16; 22) "assert"
EXCL@[22; 23)
EXCL@[22; 23) "!"
TOKEN_TREE@[23; 57)
L_PAREN@[23; 24)
STRING@[24; 52)
COMMA@[52; 53)
WHITESPACE@[53; 54)
STRING@[54; 56)
R_PAREN@[56; 57)
SEMI@[57; 58)
"#
L_PAREN@[23; 24) "("
STRING@[24; 52) "\"\n fn foo() {\n ..."
COMMA@[52; 53) ","
WHITESPACE@[53; 54) " "
STRING@[54; 56) "\"\""
R_PAREN@[56; 57) ")"
SEMI@[57; 58) ";"
"#
.trim()
);
}
@ -243,23 +245,23 @@ fn bar() {
.trim(),
);
let syn = analysis.syntax_tree(range.file_id, Some(range.range));
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
SOURCE_FILE@[0; 12)
FN_DEF@[0; 12)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 12)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
R_CURLY@[11; 12)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) "\n"
R_CURLY@[11; 12) "}"
"#
.trim()
);
@ -277,23 +279,23 @@ fn bar() {
.trim(),
);
let syn = analysis.syntax_tree(range.file_id, Some(range.range));
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
SOURCE_FILE@[0; 12)
FN_DEF@[0; 12)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 12)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
R_CURLY@[11; 12)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) "\n"
R_CURLY@[11; 12) "}"
"#
.trim()
);
@ -310,38 +312,37 @@ fn bar() {
.trim(),
);
let syn = analysis.syntax_tree(range.file_id, Some(range.range));
assert_eq!(
assert_eq_text!(
syn.trim(),
r#"
SOURCE_FILE@[0; 25)
FN_DEF@[0; 12)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 12)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
R_CURLY@[11; 12)
WHITESPACE@[12; 13)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) "\n"
R_CURLY@[11; 12) "}"
WHITESPACE@[12; 13) "\n"
FN_DEF@[13; 25)
FN_KW@[13; 15)
WHITESPACE@[15; 16)
FN_KW@[13; 15) "fn"
WHITESPACE@[15; 16) " "
NAME@[16; 19)
IDENT@[16; 19) "bar"
PARAM_LIST@[19; 21)
L_PAREN@[19; 20)
R_PAREN@[20; 21)
WHITESPACE@[21; 22)
L_PAREN@[19; 20) "("
R_PAREN@[20; 21) ")"
WHITESPACE@[21; 22) " "
BLOCK@[22; 25)
L_CURLY@[22; 23)
WHITESPACE@[23; 24)
R_CURLY@[24; 25)
L_CURLY@[22; 23) "{"
WHITESPACE@[23; 24) "\n"
R_CURLY@[24; 25) "}"
"#
.trim()
);

View file

@ -302,37 +302,37 @@ impl_froms!(TokenTree: Leaf, Subtree);
r#"
SOURCE_FILE@[0; 40)
STRUCT_DEF@[0; 20)
STRUCT_KW@[0; 6)
STRUCT_KW@[0; 6) "struct"
NAME@[6; 9)
IDENT@[6; 9) "Foo"
NAMED_FIELD_DEF_LIST@[9; 20)
L_CURLY@[9; 10)
L_CURLY@[9; 10) "{"
NAMED_FIELD_DEF@[10; 19)
NAME@[10; 15)
IDENT@[10; 15) "field"
COLON@[15; 16)
COLON@[15; 16) ":"
PATH_TYPE@[16; 19)
PATH@[16; 19)
PATH_SEGMENT@[16; 19)
NAME_REF@[16; 19)
IDENT@[16; 19) "u32"
R_CURLY@[19; 20)
R_CURLY@[19; 20) "}"
STRUCT_DEF@[20; 40)
STRUCT_KW@[20; 26)
STRUCT_KW@[20; 26) "struct"
NAME@[26; 29)
IDENT@[26; 29) "Bar"
NAMED_FIELD_DEF_LIST@[29; 40)
L_CURLY@[29; 30)
L_CURLY@[29; 30) "{"
NAMED_FIELD_DEF@[30; 39)
NAME@[30; 35)
IDENT@[30; 35) "field"
COLON@[35; 36)
COLON@[35; 36) ":"
PATH_TYPE@[36; 39)
PATH@[36; 39)
PATH_SEGMENT@[36; 39)
NAME_REF@[36; 39)
IDENT@[36; 39) "u32"
R_CURLY@[39; 40)"#
R_CURLY@[39; 40) "}""#
.trim()
);
}

View file

@ -319,10 +319,17 @@ pub struct SyntaxToken<'a>(pub(crate) rowan::SyntaxToken<'a, RaTypes>);
impl<'a> fmt::Debug for SyntaxToken<'a> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "{:?}@{:?}", self.kind(), self.range())?;
if has_short_text(self.kind()) {
write!(fmt, " \"{}\"", self.text())?;
if self.text().len() < 25 {
return write!(fmt, " {:?}", self.text());
}
Ok(())
let text = self.text().as_str();
for idx in 21..25 {
if text.is_char_boundary(idx) {
let text = format!("{} ...", &text[..idx]);
return write!(fmt, " {:?}", text);
}
}
unreachable!()
}
}
@ -499,14 +506,6 @@ impl<'a> Iterator for SyntaxElementChildren<'a> {
}
}
fn has_short_text(kind: SyntaxKind) -> bool {
use crate::SyntaxKind::*;
match kind {
IDENT | LIFETIME | INT_NUMBER | FLOAT_NUMBER => true,
_ => false,
}
}
pub struct SyntaxTreeBuilder {
errors: Vec<SyntaxError>,
inner: GreenNodeBuilder<RaTypes>,

View file

@ -1,34 +1,34 @@
SOURCE_FILE@[0; 34)
STRUCT_DEF@[0; 34)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
WHITESPACE@[8; 9)
WHITESPACE@[8; 9) " "
NAMED_FIELD_DEF_LIST@[9; 34)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
NAMED_FIELD_DEF@[15; 21)
NAME@[15; 16)
IDENT@[15; 16) "a"
COLON@[16; 17)
WHITESPACE@[17; 18)
COLON@[16; 17) ":"
WHITESPACE@[17; 18) " "
PATH_TYPE@[18; 21)
PATH@[18; 21)
PATH_SEGMENT@[18; 21)
NAME_REF@[18; 21)
IDENT@[18; 21) "u32"
err: `expected COMMA`
WHITESPACE@[21; 26)
WHITESPACE@[21; 26) "\n "
NAMED_FIELD_DEF@[26; 32)
NAME@[26; 27)
IDENT@[26; 27) "b"
COLON@[27; 28)
WHITESPACE@[28; 29)
COLON@[27; 28) ":"
WHITESPACE@[28; 29) " "
PATH_TYPE@[29; 32)
PATH@[29; 32)
PATH_SEGMENT@[29; 32)
NAME_REF@[29; 32)
IDENT@[29; 32) "u32"
WHITESPACE@[32; 33)
R_CURLY@[33; 34)
WHITESPACE@[32; 33) "\n"
R_CURLY@[33; 34) "}"

View file

@ -1,18 +1,18 @@
SOURCE_FILE@[0; 21)
ERROR@[0; 2)
IF_KW@[0; 2)
IF_KW@[0; 2) "if"
err: `expected an item`
WHITESPACE@[2; 3)
WHITESPACE@[2; 3) " "
err: `expected an item`
ERROR@[3; 8)
MATCH_KW@[3; 8)
WHITESPACE@[8; 10)
MATCH_KW@[3; 8) "match"
WHITESPACE@[8; 10) "\n\n"
STRUCT_DEF@[10; 21)
STRUCT_KW@[10; 16)
WHITESPACE@[16; 17)
STRUCT_KW@[10; 16) "struct"
WHITESPACE@[16; 17) " "
NAME@[17; 18)
IDENT@[17; 18) "S"
WHITESPACE@[18; 19)
WHITESPACE@[18; 19) " "
NAMED_FIELD_DEF_LIST@[19; 21)
L_CURLY@[19; 20)
R_CURLY@[20; 21)
L_CURLY@[19; 20) "{"
R_CURLY@[20; 21) "}"

View file

@ -1,7 +1,7 @@
SOURCE_FILE@[0; 42)
SHEBANG@[0; 20)
WHITESPACE@[20; 21)
SHEBANG@[0; 20) "#!/use/bin/env rusti"
WHITESPACE@[20; 21) "\n"
err: `expected an item`
ERROR@[21; 41)
SHEBANG@[21; 41)
WHITESPACE@[41; 42)
SHEBANG@[21; 41) "#!/use/bin/env rusti"
WHITESPACE@[41; 42) "\n"

View file

@ -1,39 +1,39 @@
SOURCE_FILE@[0; 40)
STRUCT_DEF@[0; 39)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
WHITESPACE@[8; 9)
WHITESPACE@[8; 9) " "
NAMED_FIELD_DEF_LIST@[9; 39)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
NAMED_FIELD_DEF@[15; 21)
NAME@[15; 16)
IDENT@[15; 16) "a"
COLON@[16; 17)
WHITESPACE@[17; 18)
COLON@[16; 17) ":"
WHITESPACE@[17; 18) " "
PATH_TYPE@[18; 21)
PATH@[18; 21)
PATH_SEGMENT@[18; 21)
NAME_REF@[18; 21)
IDENT@[18; 21) "i32"
COMMA@[21; 22)
WHITESPACE@[22; 27)
COMMA@[21; 22) ","
WHITESPACE@[22; 27) "\n "
NAMED_FIELD_DEF@[27; 36)
NAME@[27; 28)
IDENT@[27; 28) "b"
COLON@[28; 29)
WHITESPACE@[29; 30)
COLON@[28; 29) ":"
WHITESPACE@[29; 30) " "
PATH_TYPE@[30; 36)
PATH@[30; 36)
PATH_SEGMENT@[30; 36)
NAME_REF@[30; 36)
IDENT@[30; 36) "String"
COMMA@[36; 37)
WHITESPACE@[37; 38)
R_CURLY@[38; 39)
COMMA@[36; 37) ","
WHITESPACE@[37; 38) "\n"
R_CURLY@[38; 39) "}"
err: `expected item, found `;`
consider removing this semicolon`
ERROR@[39; 40)
SEMI@[39; 40)
SEMI@[39; 40) ";"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 12)
USE_ITEM@[0; 12)
USE_KW@[0; 3)
WHITESPACE@[3; 4)
USE_KW@[0; 3) "use"
WHITESPACE@[3; 4) " "
USE_TREE@[4; 11)
PATH@[4; 11)
PATH@[4; 7)
PATH_SEGMENT@[4; 7)
NAME_REF@[4; 7)
IDENT@[4; 7) "foo"
COLONCOLON@[7; 9)
COLONCOLON@[7; 9) "::"
err: `expected identifier`
PATH_SEGMENT@[9; 11)
ERROR@[9; 11)
INT_NUMBER@[9; 11) "92"
SEMI@[11; 12)
SEMI@[11; 12) ";"

View file

@ -1,55 +1,55 @@
SOURCE_FILE@[0; 54)
FN_DEF@[0; 31)
ATTR@[0; 18)
POUND@[0; 1)
POUND@[0; 1) "#"
TOKEN_TREE@[1; 18)
L_BRACK@[1; 2)
L_BRACK@[1; 2) "["
IDENT@[2; 5) "foo"
TOKEN_TREE@[5; 17)
L_PAREN@[5; 6)
L_PAREN@[5; 6) "("
IDENT@[6; 9) "foo"
COMMA@[9; 10)
WHITESPACE@[10; 11)
PLUS@[11; 12)
COMMA@[12; 13)
WHITESPACE@[13; 14)
COMMA@[9; 10) ","
WHITESPACE@[10; 11) " "
PLUS@[11; 12) "+"
COMMA@[12; 13) ","
WHITESPACE@[13; 14) " "
INT_NUMBER@[14; 16) "92"
R_PAREN@[16; 17)
R_BRACK@[17; 18)
WHITESPACE@[18; 19)
FN_KW@[19; 21)
WHITESPACE@[21; 22)
R_PAREN@[16; 17) ")"
R_BRACK@[17; 18) "]"
WHITESPACE@[18; 19) "\n"
FN_KW@[19; 21) "fn"
WHITESPACE@[21; 22) " "
NAME@[22; 25)
IDENT@[22; 25) "foo"
PARAM_LIST@[25; 27)
L_PAREN@[25; 26)
R_PAREN@[26; 27)
WHITESPACE@[27; 28)
L_PAREN@[25; 26) "("
R_PAREN@[26; 27) ")"
WHITESPACE@[27; 28) " "
BLOCK@[28; 31)
L_CURLY@[28; 29)
WHITESPACE@[29; 30)
R_CURLY@[30; 31)
WHITESPACE@[31; 34)
L_CURLY@[28; 29) "{"
WHITESPACE@[29; 30) "\n"
R_CURLY@[30; 31) "}"
WHITESPACE@[31; 34) "\n\n\n"
ATTR@[34; 53)
POUND@[34; 35)
POUND@[34; 35) "#"
TOKEN_TREE@[35; 53)
L_BRACK@[35; 36)
L_BRACK@[35; 36) "["
IDENT@[36; 39) "foo"
TOKEN_TREE@[39; 53)
L_PAREN@[39; 40)
WHITESPACE@[40; 41)
FN_KW@[41; 43)
WHITESPACE@[43; 44)
L_PAREN@[39; 40) "("
WHITESPACE@[40; 41) "\n"
FN_KW@[41; 43) "fn"
WHITESPACE@[43; 44) " "
IDENT@[44; 47) "foo"
TOKEN_TREE@[47; 49)
L_PAREN@[47; 48)
R_PAREN@[48; 49)
WHITESPACE@[49; 50)
L_PAREN@[47; 48) "("
R_PAREN@[48; 49) ")"
WHITESPACE@[49; 50) " "
TOKEN_TREE@[50; 53)
L_CURLY@[50; 51)
WHITESPACE@[51; 52)
R_CURLY@[52; 53)
L_CURLY@[50; 51) "{"
WHITESPACE@[51; 52) "\n"
R_CURLY@[52; 53) "}"
err: `expected R_PAREN`
err: `expected R_BRACK`
err: `expected an item`
WHITESPACE@[53; 54)
WHITESPACE@[53; 54) "\n"

View file

@ -1,74 +1,74 @@
SOURCE_FILE@[0; 74)
STRUCT_DEF@[0; 73)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
WHITESPACE@[8; 9)
WHITESPACE@[8; 9) " "
NAMED_FIELD_DEF_LIST@[9; 73)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
NAMED_FIELD_DEF@[15; 21)
NAME@[15; 16)
IDENT@[15; 16) "f"
COLON@[16; 17)
WHITESPACE@[17; 18)
COLON@[16; 17) ":"
WHITESPACE@[17; 18) " "
PATH_TYPE@[18; 21)
PATH@[18; 21)
PATH_SEGMENT@[18; 21)
NAME_REF@[18; 21)
IDENT@[18; 21) "u32"
COMMA@[21; 22)
WHITESPACE@[22; 27)
COMMA@[21; 22) ","
WHITESPACE@[22; 27) "\n "
VISIBILITY@[27; 30)
PUB_KW@[27; 30)
WHITESPACE@[30; 31)
PUB_KW@[27; 30) "pub"
WHITESPACE@[30; 31) " "
err: `expected field declaration`
ERROR@[31; 33)
INT_NUMBER@[31; 33) "92"
err: `expected COMMA`
WHITESPACE@[33; 38)
WHITESPACE@[33; 38) "\n "
err: `expected field declaration`
ERROR@[38; 39)
PLUS@[38; 39)
PLUS@[38; 39) "+"
err: `expected COMMA`
WHITESPACE@[39; 40)
WHITESPACE@[39; 40) " "
err: `expected field declaration`
ERROR@[40; 41)
MINUS@[40; 41)
MINUS@[40; 41) "-"
err: `expected COMMA`
WHITESPACE@[41; 42)
WHITESPACE@[41; 42) " "
err: `expected field declaration`
ERROR@[42; 43)
STAR@[42; 43)
STAR@[42; 43) "*"
err: `expected COMMA`
WHITESPACE@[43; 48)
WHITESPACE@[43; 48) "\n "
NAMED_FIELD_DEF@[48; 58)
VISIBILITY@[48; 51)
PUB_KW@[48; 51)
WHITESPACE@[51; 52)
PUB_KW@[48; 51) "pub"
WHITESPACE@[51; 52) " "
NAME@[52; 53)
IDENT@[52; 53) "x"
COLON@[53; 54)
WHITESPACE@[54; 55)
COLON@[53; 54) ":"
WHITESPACE@[54; 55) " "
PATH_TYPE@[55; 58)
PATH@[55; 58)
PATH_SEGMENT@[55; 58)
NAME_REF@[55; 58)
IDENT@[55; 58) "u32"
COMMA@[58; 59)
WHITESPACE@[59; 64)
COMMA@[58; 59) ","
WHITESPACE@[59; 64) "\n "
NAMED_FIELD_DEF@[64; 70)
NAME@[64; 65)
IDENT@[64; 65) "z"
COLON@[65; 66)
WHITESPACE@[66; 67)
COLON@[65; 66) ":"
WHITESPACE@[66; 67) " "
PATH_TYPE@[67; 70)
PATH@[67; 70)
PATH_SEGMENT@[67; 70)
NAME_REF@[67; 70)
IDENT@[67; 70) "f64"
COMMA@[70; 71)
WHITESPACE@[71; 72)
R_CURLY@[72; 73)
WHITESPACE@[73; 74)
COMMA@[70; 71) ","
WHITESPACE@[71; 72) "\n"
R_CURLY@[72; 73) "}"
WHITESPACE@[73; 74) "\n"

View file

@ -1,32 +1,32 @@
SOURCE_FILE@[0; 31)
ERROR@[0; 1)
R_CURLY@[0; 1)
R_CURLY@[0; 1) "}"
err: `unmatched `}``
WHITESPACE@[1; 3)
WHITESPACE@[1; 3) "\n\n"
STRUCT_DEF@[3; 12)
STRUCT_KW@[3; 9)
WHITESPACE@[9; 10)
STRUCT_KW@[3; 9) "struct"
WHITESPACE@[9; 10) " "
NAME@[10; 11)
IDENT@[10; 11) "S"
SEMI@[11; 12)
WHITESPACE@[12; 14)
SEMI@[11; 12) ";"
WHITESPACE@[12; 14) "\n\n"
err: `unmatched `}``
ERROR@[14; 15)
R_CURLY@[14; 15)
WHITESPACE@[15; 17)
R_CURLY@[14; 15) "}"
WHITESPACE@[15; 17) "\n\n"
FN_DEF@[17; 27)
FN_KW@[17; 19)
WHITESPACE@[19; 20)
FN_KW@[17; 19) "fn"
WHITESPACE@[19; 20) " "
NAME@[20; 23)
IDENT@[20; 23) "foo"
PARAM_LIST@[23; 25)
L_PAREN@[23; 24)
R_PAREN@[24; 25)
L_PAREN@[23; 24) "("
R_PAREN@[24; 25) ")"
BLOCK@[25; 27)
L_CURLY@[25; 26)
R_CURLY@[26; 27)
WHITESPACE@[27; 29)
L_CURLY@[25; 26) "{"
R_CURLY@[26; 27) "}"
WHITESPACE@[27; 29) "\n\n"
err: `unmatched `}``
ERROR@[29; 30)
R_CURLY@[29; 30)
WHITESPACE@[30; 31)
R_CURLY@[29; 30) "}"
WHITESPACE@[30; 31) "\n"

View file

@ -1,18 +1,18 @@
SOURCE_FILE@[0; 95)
FN_DEF@[0; 12)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 12)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
R_CURLY@[11; 12)
WHITESPACE@[12; 14)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) "\n"
R_CURLY@[11; 12) "}"
WHITESPACE@[12; 14) "\n\n"
MACRO_CALL@[14; 19)
PATH@[14; 17)
PATH_SEGMENT@[14; 17)
@ -20,58 +20,58 @@ SOURCE_FILE@[0; 95)
IDENT@[14; 17) "bar"
err: `expected EXCL`
TOKEN_TREE@[17; 19)
L_PAREN@[17; 18)
R_PAREN@[18; 19)
L_PAREN@[17; 18) "("
R_PAREN@[18; 19) ")"
err: `expected SEMI`
WHITESPACE@[19; 20)
WHITESPACE@[19; 20) " "
err: `expected an item`
ERROR@[20; 80)
L_CURLY@[20; 21)
WHITESPACE@[21; 26)
L_CURLY@[20; 21) "{"
WHITESPACE@[21; 26) "\n "
IF_EXPR@[26; 78)
IF_KW@[26; 28)
WHITESPACE@[28; 29)
IF_KW@[26; 28) "if"
WHITESPACE@[28; 29) " "
CONDITION@[29; 33)
LITERAL@[29; 33)
TRUE_KW@[29; 33)
WHITESPACE@[33; 34)
TRUE_KW@[29; 33) "true"
WHITESPACE@[33; 34) " "
BLOCK@[34; 51)
L_CURLY@[34; 35)
WHITESPACE@[35; 44)
L_CURLY@[34; 35) "{"
WHITESPACE@[35; 44) "\n "
LITERAL@[44; 45)
INT_NUMBER@[44; 45) "1"
WHITESPACE@[45; 50)
R_CURLY@[50; 51)
WHITESPACE@[51; 52)
ELSE_KW@[52; 56)
WHITESPACE@[56; 57)
WHITESPACE@[45; 50) "\n "
R_CURLY@[50; 51) "}"
WHITESPACE@[51; 52) " "
ELSE_KW@[52; 56) "else"
WHITESPACE@[56; 57) " "
BLOCK@[57; 78)
L_CURLY@[57; 58)
WHITESPACE@[58; 67)
L_CURLY@[57; 58) "{"
WHITESPACE@[58; 67) "\n "
BIN_EXPR@[67; 72)
LITERAL@[67; 68)
INT_NUMBER@[67; 68) "2"
WHITESPACE@[68; 69)
PLUS@[69; 70)
WHITESPACE@[70; 71)
WHITESPACE@[68; 69) " "
PLUS@[69; 70) "+"
WHITESPACE@[70; 71) " "
LITERAL@[71; 72)
INT_NUMBER@[71; 72) "3"
WHITESPACE@[72; 77)
R_CURLY@[77; 78)
WHITESPACE@[78; 79)
R_CURLY@[79; 80)
WHITESPACE@[80; 82)
WHITESPACE@[72; 77) "\n "
R_CURLY@[77; 78) "}"
WHITESPACE@[78; 79) "\n"
R_CURLY@[79; 80) "}"
WHITESPACE@[80; 82) "\n\n"
FN_DEF@[82; 94)
FN_KW@[82; 84)
WHITESPACE@[84; 85)
FN_KW@[82; 84) "fn"
WHITESPACE@[84; 85) " "
NAME@[85; 88)
IDENT@[85; 88) "baz"
PARAM_LIST@[88; 90)
L_PAREN@[88; 89)
R_PAREN@[89; 90)
WHITESPACE@[90; 91)
L_PAREN@[88; 89) "("
R_PAREN@[89; 90) ")"
WHITESPACE@[90; 91) " "
BLOCK@[91; 94)
L_CURLY@[91; 92)
WHITESPACE@[92; 93)
R_CURLY@[93; 94)
WHITESPACE@[94; 95)
L_CURLY@[91; 92) "{"
WHITESPACE@[92; 93) "\n"
R_CURLY@[93; 94) "}"
WHITESPACE@[94; 95) "\n"

View file

@ -1,33 +1,33 @@
SOURCE_FILE@[0; 43)
STRUCT_DEF@[0; 11)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
TYPE_PARAM_LIST@[8; 11)
L_ANGLE@[8; 9)
L_ANGLE@[8; 9) "<"
err: `expected type parameter`
ERROR@[9; 11)
INT_NUMBER@[9; 11) "90"
err: `expected COMMA`
err: `expected R_ANGLE`
err: `expected `;`, `{`, or `(``
WHITESPACE@[11; 12)
WHITESPACE@[11; 12) " "
err: `expected an item`
ERROR@[12; 13)
PLUS@[12; 13)
WHITESPACE@[13; 14)
PLUS@[12; 13) "+"
WHITESPACE@[13; 14) " "
err: `expected an item`
ERROR@[14; 15)
INT_NUMBER@[14; 15) "2"
err: `expected an item`
ERROR@[15; 16)
R_ANGLE@[15; 16)
WHITESPACE@[16; 17)
R_ANGLE@[15; 16) ">"
WHITESPACE@[16; 17) " "
err: `expected an item`
ERROR@[17; 31)
L_CURLY@[17; 18)
WHITESPACE@[18; 23)
L_CURLY@[17; 18) "{"
WHITESPACE@[18; 23) "\n "
EXPR_STMT@[23; 24)
PATH_EXPR@[23; 24)
PATH@[23; 24)
@ -38,21 +38,21 @@ SOURCE_FILE@[0; 43)
err: `expected expression`
EXPR_STMT@[24; 25)
ERROR@[24; 25)
COLON@[24; 25)
COLON@[24; 25) ":"
err: `expected SEMI`
WHITESPACE@[25; 26)
WHITESPACE@[25; 26) " "
PATH_EXPR@[26; 29)
PATH@[26; 29)
PATH_SEGMENT@[26; 29)
NAME_REF@[26; 29)
IDENT@[26; 29) "u32"
WHITESPACE@[29; 30)
R_CURLY@[30; 31)
WHITESPACE@[31; 33)
WHITESPACE@[29; 30) "\n"
R_CURLY@[30; 31) "}"
WHITESPACE@[31; 33) "\n\n"
STRUCT_DEF@[33; 42)
STRUCT_KW@[33; 39)
WHITESPACE@[39; 40)
STRUCT_KW@[33; 39) "struct"
WHITESPACE@[39; 40) " "
NAME@[40; 41)
IDENT@[40; 41) "T"
SEMI@[41; 42)
WHITESPACE@[42; 43)
SEMI@[41; 42) ";"
WHITESPACE@[42; 43) "\n"

View file

@ -1,42 +1,42 @@
SOURCE_FILE@[0; 42)
FN_DEF@[0; 41)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 41)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
EXPR_STMT@[16; 39)
LAMBDA_EXPR@[16; 38)
PARAM_LIST@[16; 18)
PIPE@[16; 17)
PIPE@[17; 18)
WHITESPACE@[18; 19)
PIPE@[16; 17) "|"
PIPE@[17; 18) "|"
WHITESPACE@[18; 19) " "
RET_TYPE@[19; 24)
THIN_ARROW@[19; 21)
WHITESPACE@[21; 22)
THIN_ARROW@[19; 21) "->"
WHITESPACE@[21; 22) " "
TUPLE_TYPE@[22; 24)
L_PAREN@[22; 23)
R_PAREN@[23; 24)
L_PAREN@[22; 23) "("
R_PAREN@[23; 24) ")"
err: `expected `{``
WHITESPACE@[24; 25)
WHITESPACE@[24; 25) " "
BLOCK_EXPR@[25; 38)
UNSAFE_KW@[25; 31)
WHITESPACE@[31; 32)
UNSAFE_KW@[25; 31) "unsafe"
WHITESPACE@[31; 32) " "
BLOCK@[32; 38)
L_CURLY@[32; 33)
WHITESPACE@[33; 34)
L_CURLY@[32; 33) "{"
WHITESPACE@[33; 34) " "
TUPLE_EXPR@[34; 36)
L_PAREN@[34; 35)
R_PAREN@[35; 36)
WHITESPACE@[36; 37)
R_CURLY@[37; 38)
SEMI@[38; 39)
WHITESPACE@[39; 40)
R_CURLY@[40; 41)
WHITESPACE@[41; 42)
L_PAREN@[34; 35) "("
R_PAREN@[35; 36) ")"
WHITESPACE@[36; 37) " "
R_CURLY@[37; 38) "}"
SEMI@[38; 39) ";"
WHITESPACE@[39; 40) "\n"
R_CURLY@[40; 41) "}"
WHITESPACE@[41; 42) "\n"

View file

@ -1,13 +1,13 @@
SOURCE_FILE@[0; 19)
ERROR@[0; 6)
ABI@[0; 6)
EXTERN_KW@[0; 6)
EXTERN_KW@[0; 6) "extern"
err: `expected fn, trait or impl`
WHITESPACE@[6; 7)
WHITESPACE@[6; 7) " "
STRUCT_DEF@[7; 18)
STRUCT_KW@[7; 13)
WHITESPACE@[13; 14)
STRUCT_KW@[7; 13) "struct"
WHITESPACE@[13; 14) " "
NAME@[14; 17)
IDENT@[14; 17) "Foo"
SEMI@[17; 18)
WHITESPACE@[18; 19)
SEMI@[17; 18) ";"
WHITESPACE@[18; 19) "\n"

View file

@ -1,15 +1,15 @@
SOURCE_FILE@[0; 86)
STRUCT_DEF@[0; 72)
VISIBILITY@[0; 3)
PUB_KW@[0; 3)
WHITESPACE@[3; 4)
STRUCT_KW@[4; 10)
WHITESPACE@[10; 11)
PUB_KW@[0; 3) "pub"
WHITESPACE@[3; 4) " "
STRUCT_KW@[4; 10) "struct"
WHITESPACE@[10; 11) " "
NAME@[11; 16)
IDENT@[11; 16) "Cache"
POS_FIELD_DEF_LIST@[16; 72)
L_PAREN@[16; 17)
WHITESPACE@[17; 22)
L_PAREN@[16; 17) "("
WHITESPACE@[17; 22) "\n "
POS_FIELD_DEF@[22; 68)
PATH_TYPE@[22; 68)
PATH@[22; 68)
@ -17,7 +17,7 @@ SOURCE_FILE@[0; 86)
NAME_REF@[22; 29)
IDENT@[22; 29) "RefCell"
TYPE_ARG_LIST@[29; 68)
L_ANGLE@[29; 30)
L_ANGLE@[29; 30) "<"
TYPE_ARG@[30; 68)
PATH_TYPE@[30; 68)
PATH@[30; 68)
@ -25,16 +25,16 @@ SOURCE_FILE@[0; 86)
NAME_REF@[30; 37)
IDENT@[30; 37) "HashMap"
TYPE_ARG_LIST@[37; 68)
L_ANGLE@[37; 38)
WHITESPACE@[38; 47)
L_ANGLE@[37; 38) "<"
WHITESPACE@[38; 47) "\n "
TYPE_ARG@[47; 53)
PATH_TYPE@[47; 53)
PATH@[47; 53)
PATH_SEGMENT@[47; 53)
NAME_REF@[47; 53)
IDENT@[47; 53) "TypeId"
COMMA@[53; 54)
WHITESPACE@[54; 63)
COMMA@[53; 54) ","
WHITESPACE@[54; 63) "\n "
TYPE_ARG@[63; 68)
PATH_TYPE@[63; 68)
PATH@[63; 68)
@ -42,11 +42,11 @@ SOURCE_FILE@[0; 86)
NAME_REF@[63; 66)
IDENT@[63; 66) "Box"
TYPE_ARG_LIST@[66; 68)
L_ANGLE@[66; 67)
L_ANGLE@[66; 67) "<"
err: `expected type`
TYPE_ARG@[67; 68)
ERROR@[67; 68)
AT@[67; 68)
AT@[67; 68) "@"
err: `expected COMMA`
err: `expected R_ANGLE`
err: `expected COMMA`
@ -54,7 +54,7 @@ SOURCE_FILE@[0; 86)
err: `expected COMMA`
err: `expected R_ANGLE`
err: `expected COMMA`
WHITESPACE@[68; 69)
WHITESPACE@[68; 69) " "
POS_FIELD_DEF@[69; 72)
PATH_TYPE@[69; 72)
PATH@[69; 72)
@ -68,22 +68,22 @@ SOURCE_FILE@[0; 86)
err: `expected an item`
ERROR@[72; 72)
ERROR@[72; 73)
R_ANGLE@[72; 73)
R_ANGLE@[72; 73) ">"
err: `expected an item`
ERROR@[73; 74)
COMMA@[73; 74)
WHITESPACE@[74; 79)
COMMA@[73; 74) ","
WHITESPACE@[74; 79) "\n "
err: `expected an item`
ERROR@[79; 80)
R_ANGLE@[79; 80)
R_ANGLE@[79; 80) ">"
err: `expected an item`
ERROR@[80; 81)
R_ANGLE@[80; 81)
WHITESPACE@[81; 82)
R_ANGLE@[80; 81) ">"
WHITESPACE@[81; 82) "\n"
err: `expected an item`
ERROR@[82; 83)
R_PAREN@[82; 83)
R_PAREN@[82; 83) ")"
err: `expected an item`
ERROR@[83; 84)
SEMI@[83; 84)
WHITESPACE@[84; 86)
SEMI@[83; 84) ";"
WHITESPACE@[84; 86) "\n\n"

View file

@ -1,22 +1,22 @@
SOURCE_FILE@[0; 23)
FN_DEF@[0; 22)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
TYPE_PARAM_LIST@[6; 9)
L_ANGLE@[6; 7)
L_ANGLE@[6; 7) "<"
TYPE_PARAM@[7; 8)
NAME@[7; 8)
IDENT@[7; 8) "T"
R_ANGLE@[8; 9)
R_ANGLE@[8; 9) ">"
PARAM_LIST@[9; 11)
L_PAREN@[9; 10)
R_PAREN@[10; 11)
WHITESPACE@[11; 12)
L_PAREN@[9; 10) "("
R_PAREN@[10; 11) ")"
WHITESPACE@[11; 12) " "
WHERE_CLAUSE@[12; 19)
WHERE_KW@[12; 17)
WHITESPACE@[17; 18)
WHERE_KW@[12; 17) "where"
WHITESPACE@[17; 18) " "
WHERE_PRED@[18; 19)
PATH_TYPE@[18; 19)
PATH@[18; 19)
@ -24,8 +24,8 @@ SOURCE_FILE@[0; 23)
NAME_REF@[18; 19)
IDENT@[18; 19) "T"
err: `expected colon`
WHITESPACE@[19; 20)
WHITESPACE@[19; 20) " "
BLOCK@[20; 22)
L_CURLY@[20; 21)
R_CURLY@[21; 22)
WHITESPACE@[22; 23)
L_CURLY@[20; 21) "{"
R_CURLY@[21; 22) "}"
WHITESPACE@[22; 23) "\n"

View file

@ -1,24 +1,24 @@
SOURCE_FILE@[0; 14)
FN_DEF@[0; 7)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 7)
L_PAREN@[6; 7)
L_PAREN@[6; 7) "("
err: `expected value parameter`
err: `expected R_PAREN`
err: `expected a block`
err: `unmatched `}``
ERROR@[7; 8)
R_CURLY@[7; 8)
R_CURLY@[7; 8) "}"
err: `expected an item`
ERROR@[8; 9)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
err: `expected an item`
ERROR@[10; 13)
L_CURLY@[10; 11)
WHITESPACE@[11; 12)
R_CURLY@[12; 13)
WHITESPACE@[13; 14)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 12) "\n"
R_CURLY@[12; 13) "}"
WHITESPACE@[13; 14) "\n"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 56)
FN_DEF@[0; 55)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 55)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 38)
CALL_EXPR@[15; 38)
PATH_EXPR@[15; 18)
@ -19,25 +19,25 @@ SOURCE_FILE@[0; 56)
NAME_REF@[15; 18)
IDENT@[15; 18) "foo"
ARG_LIST@[18; 38)
L_PAREN@[18; 19)
WHITESPACE@[19; 28)
L_PAREN@[18; 19) "("
WHITESPACE@[19; 28) "\n "
LITERAL@[28; 29)
INT_NUMBER@[28; 29) "1"
COMMA@[29; 30)
WHITESPACE@[30; 31)
COMMA@[29; 30) ","
WHITESPACE@[30; 31) " "
LITERAL@[31; 32)
INT_NUMBER@[31; 32) "2"
WHITESPACE@[32; 37)
R_PAREN@[37; 38)
WHITESPACE@[32; 37) "\n "
R_PAREN@[37; 38) ")"
err: `expected SEMI`
WHITESPACE@[38; 43)
WHITESPACE@[38; 43) "\n "
EXPR_STMT@[43; 53)
RETURN_EXPR@[43; 52)
RETURN_KW@[43; 49)
WHITESPACE@[49; 50)
RETURN_KW@[43; 49) "return"
WHITESPACE@[49; 50) " "
LITERAL@[50; 52)
INT_NUMBER@[50; 52) "92"
SEMI@[52; 53)
WHITESPACE@[53; 54)
R_CURLY@[54; 55)
WHITESPACE@[55; 56)
SEMI@[52; 53) ";"
WHITESPACE@[53; 54) "\n"
R_CURLY@[54; 55) "}"
WHITESPACE@[55; 56) "\n"

View file

@ -1,46 +1,46 @@
SOURCE_FILE@[0; 47)
FN_DEF@[0; 46)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 16)
L_PAREN@[6; 7)
L_PAREN@[6; 7) "("
PARAM@[7; 15)
BIND_PAT@[7; 10)
NAME@[7; 10)
IDENT@[7; 10) "foo"
COLON@[10; 11)
WHITESPACE@[11; 12)
COLON@[10; 11) ":"
WHITESPACE@[11; 12) " "
PATH_TYPE@[12; 15)
PATH@[12; 15)
PATH_SEGMENT@[12; 15)
NAME_REF@[12; 15)
IDENT@[12; 15) "i32"
R_PAREN@[15; 16)
WHITESPACE@[16; 17)
R_PAREN@[15; 16) ")"
WHITESPACE@[16; 17) " "
BLOCK@[17; 46)
L_CURLY@[17; 18)
WHITESPACE@[18; 23)
L_CURLY@[17; 18) "{"
WHITESPACE@[18; 23) "\n "
LET_STMT@[23; 36)
LET_KW@[23; 26)
WHITESPACE@[26; 27)
LET_KW@[23; 26) "let"
WHITESPACE@[26; 27) " "
BIND_PAT@[27; 30)
NAME@[27; 30)
IDENT@[27; 30) "bar"
WHITESPACE@[30; 31)
EQ@[31; 32)
WHITESPACE@[32; 33)
WHITESPACE@[30; 31) " "
EQ@[31; 32) "="
WHITESPACE@[32; 33) " "
LITERAL@[33; 35)
INT_NUMBER@[33; 35) "92"
SEMI@[35; 36)
WHITESPACE@[36; 41)
SEMI@[35; 36) ";"
WHITESPACE@[36; 41) "\n "
BIN_EXPR@[41; 44)
LITERAL@[41; 42)
INT_NUMBER@[41; 42) "1"
WHITESPACE@[42; 43)
PLUS@[43; 44)
WHITESPACE@[42; 43) " "
PLUS@[43; 44) "+"
err: `expected expression`
WHITESPACE@[44; 45)
R_CURLY@[45; 46)
WHITESPACE@[46; 47)
WHITESPACE@[44; 45) "\n"
R_CURLY@[45; 46) "}"
WHITESPACE@[46; 47) "\n"

View file

@ -1,131 +1,131 @@
SOURCE_FILE@[0; 183)
IMPL_BLOCK@[0; 182)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 13)
PATH@[5; 13)
PATH_SEGMENT@[5; 13)
NAME_REF@[5; 13)
IDENT@[5; 13) "FnScopes"
WHITESPACE@[13; 14)
WHITESPACE@[13; 14) " "
ITEM_LIST@[14; 182)
L_CURLY@[14; 15)
WHITESPACE@[15; 20)
L_CURLY@[14; 15) "{"
WHITESPACE@[15; 20) "\n "
FN_DEF@[20; 161)
FN_KW@[20; 22)
WHITESPACE@[22; 23)
FN_KW@[20; 22) "fn"
WHITESPACE@[22; 23) " "
NAME@[23; 32)
IDENT@[23; 32) "new_scope"
PARAM_LIST@[32; 35)
L_PAREN@[32; 33)
L_PAREN@[32; 33) "("
PARAM@[33; 34)
REF_PAT@[33; 34)
AMP@[33; 34)
AMP@[33; 34) "&"
err: `expected pattern`
err: `expected COLON`
err: `expected type`
R_PAREN@[34; 35)
WHITESPACE@[35; 36)
R_PAREN@[34; 35) ")"
WHITESPACE@[35; 36) " "
RET_TYPE@[36; 46)
THIN_ARROW@[36; 38)
WHITESPACE@[38; 39)
THIN_ARROW@[36; 38) "->"
WHITESPACE@[38; 39) " "
PATH_TYPE@[39; 46)
PATH@[39; 46)
PATH_SEGMENT@[39; 46)
NAME_REF@[39; 46)
IDENT@[39; 46) "ScopeId"
WHITESPACE@[46; 47)
WHITESPACE@[46; 47) " "
BLOCK@[47; 161)
L_CURLY@[47; 48)
WHITESPACE@[48; 57)
L_CURLY@[47; 48) "{"
WHITESPACE@[48; 57) "\n "
LET_STMT@[57; 85)
LET_KW@[57; 60)
WHITESPACE@[60; 61)
LET_KW@[57; 60) "let"
WHITESPACE@[60; 61) " "
BIND_PAT@[61; 64)
NAME@[61; 64)
IDENT@[61; 64) "res"
WHITESPACE@[64; 65)
EQ@[65; 66)
WHITESPACE@[66; 67)
WHITESPACE@[64; 65) " "
EQ@[65; 66) "="
WHITESPACE@[66; 67) " "
METHOD_CALL_EXPR@[67; 84)
FIELD_EXPR@[67; 78)
PATH_EXPR@[67; 71)
PATH@[67; 71)
PATH_SEGMENT@[67; 71)
SELF_KW@[67; 71)
DOT@[71; 72)
SELF_KW@[67; 71) "self"
DOT@[71; 72) "."
NAME_REF@[72; 78)
IDENT@[72; 78) "scopes"
DOT@[78; 79)
DOT@[78; 79) "."
NAME_REF@[79; 82)
IDENT@[79; 82) "len"
ARG_LIST@[82; 84)
L_PAREN@[82; 83)
R_PAREN@[83; 84)
SEMI@[84; 85)
WHITESPACE@[85; 94)
L_PAREN@[82; 83) "("
R_PAREN@[83; 84) ")"
SEMI@[84; 85) ";"
WHITESPACE@[85; 94) "\n "
METHOD_CALL_EXPR@[94; 155)
FIELD_EXPR@[94; 105)
PATH_EXPR@[94; 98)
PATH@[94; 98)
PATH_SEGMENT@[94; 98)
SELF_KW@[94; 98)
DOT@[98; 99)
SELF_KW@[94; 98) "self"
DOT@[98; 99) "."
NAME_REF@[99; 105)
IDENT@[99; 105) "scopes"
DOT@[105; 106)
DOT@[105; 106) "."
NAME_REF@[106; 110)
IDENT@[106; 110) "push"
ARG_LIST@[110; 155)
L_PAREN@[110; 111)
L_PAREN@[110; 111) "("
STRUCT_LIT@[111; 154)
PATH@[111; 120)
PATH_SEGMENT@[111; 120)
NAME_REF@[111; 120)
IDENT@[111; 120) "ScopeData"
WHITESPACE@[120; 121)
WHITESPACE@[120; 121) " "
NAMED_FIELD_LIST@[121; 154)
L_CURLY@[121; 122)
WHITESPACE@[122; 123)
L_CURLY@[121; 122) "{"
WHITESPACE@[122; 123) " "
NAMED_FIELD@[123; 135)
NAME_REF@[123; 129)
IDENT@[123; 129) "parent"
COLON@[129; 130)
WHITESPACE@[130; 131)
COLON@[129; 130) ":"
WHITESPACE@[130; 131) " "
PATH_EXPR@[131; 135)
PATH@[131; 135)
PATH_SEGMENT@[131; 135)
NAME_REF@[131; 135)
IDENT@[131; 135) "None"
COMMA@[135; 136)
WHITESPACE@[136; 137)
COMMA@[135; 136) ","
WHITESPACE@[136; 137) " "
NAMED_FIELD@[137; 152)
NAME_REF@[137; 144)
IDENT@[137; 144) "entries"
COLON@[144; 145)
WHITESPACE@[145; 146)
COLON@[144; 145) ":"
WHITESPACE@[145; 146) " "
MACRO_CALL@[146; 152)
PATH@[146; 149)
PATH_SEGMENT@[146; 149)
NAME_REF@[146; 149)
IDENT@[146; 149) "vec"
EXCL@[149; 150)
EXCL@[149; 150) "!"
TOKEN_TREE@[150; 152)
L_BRACK@[150; 151)
R_BRACK@[151; 152)
WHITESPACE@[152; 153)
R_CURLY@[153; 154)
R_PAREN@[154; 155)
WHITESPACE@[155; 160)
R_CURLY@[160; 161)
WHITESPACE@[161; 167)
L_BRACK@[150; 151) "["
R_BRACK@[151; 152) "]"
WHITESPACE@[152; 153) " "
R_CURLY@[153; 154) "}"
R_PAREN@[154; 155) ")"
WHITESPACE@[155; 160) "\n "
R_CURLY@[160; 161) "}"
WHITESPACE@[161; 167) "\n\n "
FN_DEF@[167; 180)
FN_KW@[167; 169)
WHITESPACE@[169; 170)
FN_KW@[167; 169) "fn"
WHITESPACE@[169; 170) " "
NAME@[170; 180)
IDENT@[170; 180) "set_parent"
err: `expected function arguments`
err: `expected a block`
WHITESPACE@[180; 181)
R_CURLY@[181; 182)
WHITESPACE@[182; 183)
WHITESPACE@[180; 181) "\n"
R_CURLY@[181; 182) "}"
WHITESPACE@[182; 183) "\n"

View file

@ -1,103 +1,103 @@
SOURCE_FILE@[0; 139)
FN_DEF@[0; 138)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 138)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 24)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
BIND_PAT@[19; 22)
NAME@[19; 22)
IDENT@[19; 22) "foo"
WHITESPACE@[22; 23)
EQ@[23; 24)
WHITESPACE@[22; 23) " "
EQ@[23; 24) "="
err: `expected expression`
err: `expected SEMI`
WHITESPACE@[24; 29)
WHITESPACE@[24; 29) "\n "
LET_STMT@[29; 41)
LET_KW@[29; 32)
WHITESPACE@[32; 33)
LET_KW@[29; 32) "let"
WHITESPACE@[32; 33) " "
BIND_PAT@[33; 36)
NAME@[33; 36)
IDENT@[33; 36) "bar"
WHITESPACE@[36; 37)
EQ@[37; 38)
WHITESPACE@[38; 39)
WHITESPACE@[36; 37) " "
EQ@[37; 38) "="
WHITESPACE@[38; 39) " "
LITERAL@[39; 40)
INT_NUMBER@[39; 40) "1"
SEMI@[40; 41)
WHITESPACE@[41; 46)
SEMI@[40; 41) ";"
WHITESPACE@[41; 46) "\n "
LET_STMT@[46; 49)
LET_KW@[46; 49)
LET_KW@[46; 49) "let"
err: `expected pattern`
err: `expected SEMI`
WHITESPACE@[49; 54)
WHITESPACE@[49; 54) "\n "
LET_STMT@[54; 67)
LET_KW@[54; 57)
WHITESPACE@[57; 58)
LET_KW@[54; 57) "let"
WHITESPACE@[57; 58) " "
BIND_PAT@[58; 61)
NAME@[58; 61)
IDENT@[58; 61) "baz"
WHITESPACE@[61; 62)
EQ@[62; 63)
WHITESPACE@[63; 64)
WHITESPACE@[61; 62) " "
EQ@[62; 63) "="
WHITESPACE@[63; 64) " "
LITERAL@[64; 66)
INT_NUMBER@[64; 66) "92"
SEMI@[66; 67)
WHITESPACE@[67; 72)
SEMI@[66; 67) ";"
WHITESPACE@[67; 72) "\n "
LET_STMT@[72; 75)
LET_KW@[72; 75)
LET_KW@[72; 75) "let"
err: `expected pattern`
err: `expected SEMI`
WHITESPACE@[75; 80)
WHITESPACE@[75; 80) "\n "
EXPR_STMT@[80; 90)
IF_EXPR@[80; 90)
IF_KW@[80; 82)
WHITESPACE@[82; 83)
IF_KW@[80; 82) "if"
WHITESPACE@[82; 83) " "
CONDITION@[83; 87)
LITERAL@[83; 87)
TRUE_KW@[83; 87)
WHITESPACE@[87; 88)
TRUE_KW@[83; 87) "true"
WHITESPACE@[87; 88) " "
BLOCK@[88; 90)
L_CURLY@[88; 89)
R_CURLY@[89; 90)
WHITESPACE@[90; 95)
L_CURLY@[88; 89) "{"
R_CURLY@[89; 90) "}"
WHITESPACE@[90; 95) "\n "
LET_STMT@[95; 98)
LET_KW@[95; 98)
LET_KW@[95; 98) "let"
err: `expected pattern`
err: `expected SEMI`
WHITESPACE@[98; 103)
WHITESPACE@[98; 103) "\n "
EXPR_STMT@[103; 116)
WHILE_EXPR@[103; 116)
WHILE_KW@[103; 108)
WHITESPACE@[108; 109)
WHILE_KW@[103; 108) "while"
WHITESPACE@[108; 109) " "
CONDITION@[109; 113)
LITERAL@[109; 113)
TRUE_KW@[109; 113)
WHITESPACE@[113; 114)
TRUE_KW@[109; 113) "true"
WHITESPACE@[113; 114) " "
BLOCK@[114; 116)
L_CURLY@[114; 115)
R_CURLY@[115; 116)
WHITESPACE@[116; 121)
L_CURLY@[114; 115) "{"
R_CURLY@[115; 116) "}"
WHITESPACE@[116; 121) "\n "
LET_STMT@[121; 124)
LET_KW@[121; 124)
LET_KW@[121; 124) "let"
err: `expected pattern`
err: `expected SEMI`
WHITESPACE@[124; 129)
WHITESPACE@[124; 129) "\n "
LOOP_EXPR@[129; 136)
LOOP_KW@[129; 133)
WHITESPACE@[133; 134)
LOOP_KW@[129; 133) "loop"
WHITESPACE@[133; 134) " "
BLOCK@[134; 136)
L_CURLY@[134; 135)
R_CURLY@[135; 136)
WHITESPACE@[136; 137)
R_CURLY@[137; 138)
WHITESPACE@[138; 139)
L_CURLY@[134; 135) "{"
R_CURLY@[135; 136) "}"
WHITESPACE@[136; 137) "\n"
R_CURLY@[137; 138) "}"
WHITESPACE@[138; 139) "\n"

View file

@ -1,20 +1,20 @@
SOURCE_FILE@[0; 16)
FN_DEF@[0; 2)
FN_KW@[0; 2)
FN_KW@[0; 2) "fn"
err: `expected a name`
err: `expected function arguments`
err: `expected a block`
WHITESPACE@[2; 4)
WHITESPACE@[2; 4) "\n\n"
FN_DEF@[4; 15)
FN_KW@[4; 6)
WHITESPACE@[6; 7)
FN_KW@[4; 6) "fn"
WHITESPACE@[6; 7) " "
NAME@[7; 10)
IDENT@[7; 10) "foo"
PARAM_LIST@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
WHITESPACE@[12; 13)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
WHITESPACE@[12; 13) " "
BLOCK@[13; 15)
L_CURLY@[13; 14)
R_CURLY@[14; 15)
WHITESPACE@[15; 16)
L_CURLY@[13; 14) "{"
R_CURLY@[14; 15) "}"
WHITESPACE@[15; 16) "\n"

View file

@ -1,34 +1,34 @@
SOURCE_FILE@[0; 22)
FN_DEF@[0; 21)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 17)
L_PAREN@[6; 7)
L_PAREN@[6; 7) "("
PARAM@[7; 13)
BIND_PAT@[7; 8)
NAME@[7; 8)
IDENT@[7; 8) "x"
COLON@[8; 9)
WHITESPACE@[9; 10)
COLON@[8; 9) ":"
WHITESPACE@[9; 10) " "
PATH_TYPE@[10; 13)
PATH@[10; 13)
PATH_SEGMENT@[10; 13)
NAME_REF@[10; 13)
IDENT@[10; 13) "i32"
COMMA@[13; 14)
WHITESPACE@[14; 15)
COMMA@[13; 14) ","
WHITESPACE@[14; 15) " "
PARAM@[15; 16)
BIND_PAT@[15; 16)
NAME@[15; 16)
IDENT@[15; 16) "y"
err: `expected COLON`
err: `expected type`
R_PAREN@[16; 17)
WHITESPACE@[17; 18)
R_PAREN@[16; 17) ")"
WHITESPACE@[17; 18) " "
BLOCK@[18; 21)
L_CURLY@[18; 19)
WHITESPACE@[19; 20)
R_CURLY@[20; 21)
WHITESPACE@[21; 22)
L_CURLY@[18; 19) "{"
WHITESPACE@[19; 20) "\n"
R_CURLY@[20; 21) "}"
WHITESPACE@[21; 22) "\n"

View file

@ -1,69 +1,69 @@
SOURCE_FILE@[0; 112)
FN_DEF@[0; 33)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 4)
IDENT@[3; 4) "a"
PARAM_LIST@[4; 6)
L_PAREN@[4; 5)
R_PAREN@[5; 6)
WHITESPACE@[6; 7)
L_PAREN@[4; 5) "("
R_PAREN@[5; 6) ")"
WHITESPACE@[6; 7) " "
BLOCK@[7; 33)
L_CURLY@[7; 8)
WHITESPACE@[8; 9)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 9) " "
EXPR_STMT@[9; 15)
ARRAY_EXPR@[9; 15)
L_BRACK@[9; 10)
L_BRACK@[9; 10) "["
LITERAL@[10; 11)
INT_NUMBER@[10; 11) "1"
COMMA@[11; 12)
WHITESPACE@[12; 13)
COMMA@[11; 12) ","
WHITESPACE@[12; 13) " "
LITERAL@[13; 14)
INT_NUMBER@[13; 14) "2"
COMMA@[14; 15)
COMMA@[14; 15) ","
err: `expected expression`
err: `expected R_BRACK`
err: `expected SEMI`
WHITESPACE@[15; 16)
WHITESPACE@[15; 16) " "
err: `expected expression`
EXPR_STMT@[16; 17)
ERROR@[16; 17)
AT@[16; 17)
AT@[16; 17) "@"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[17; 18)
ERROR@[17; 18)
COMMA@[17; 18)
COMMA@[17; 18) ","
err: `expected SEMI`
WHITESPACE@[18; 19)
WHITESPACE@[18; 19) " "
STRUCT_DEF@[19; 26)
STRUCT_KW@[19; 25)
STRUCT_KW@[19; 25) "struct"
err: `expected a name`
ERROR@[25; 26)
COMMA@[25; 26)
COMMA@[25; 26) ","
err: `expected `;`, `{`, or `(``
WHITESPACE@[26; 27)
WHITESPACE@[26; 27) " "
LET_STMT@[27; 31)
LET_KW@[27; 30)
LET_KW@[27; 30) "let"
err: `expected pattern`
ERROR@[30; 31)
R_BRACK@[30; 31)
R_BRACK@[30; 31) "]"
err: `expected SEMI`
WHITESPACE@[31; 32)
R_CURLY@[32; 33)
WHITESPACE@[33; 34)
WHITESPACE@[31; 32) " "
R_CURLY@[32; 33) "}"
WHITESPACE@[33; 34) "\n"
FN_DEF@[34; 68)
FN_KW@[34; 36)
WHITESPACE@[36; 37)
FN_KW@[34; 36) "fn"
WHITESPACE@[36; 37) " "
NAME@[37; 38)
IDENT@[37; 38) "b"
PARAM_LIST@[38; 40)
L_PAREN@[38; 39)
R_PAREN@[39; 40)
WHITESPACE@[40; 41)
L_PAREN@[38; 39) "("
R_PAREN@[39; 40) ")"
WHITESPACE@[40; 41) " "
BLOCK@[41; 68)
L_CURLY@[41; 42)
WHITESPACE@[42; 43)
L_CURLY@[41; 42) "{"
WHITESPACE@[42; 43) " "
EXPR_STMT@[43; 52)
CALL_EXPR@[43; 52)
PATH_EXPR@[43; 46)
@ -72,60 +72,60 @@ SOURCE_FILE@[0; 112)
NAME_REF@[43; 46)
IDENT@[43; 46) "foo"
ARG_LIST@[46; 52)
L_PAREN@[46; 47)
L_PAREN@[46; 47) "("
LITERAL@[47; 48)
INT_NUMBER@[47; 48) "1"
COMMA@[48; 49)
WHITESPACE@[49; 50)
COMMA@[48; 49) ","
WHITESPACE@[49; 50) " "
LITERAL@[50; 51)
INT_NUMBER@[50; 51) "2"
COMMA@[51; 52)
COMMA@[51; 52) ","
err: `expected expression`
err: `expected SEMI`
WHITESPACE@[52; 53)
WHITESPACE@[52; 53) " "
err: `expected expression`
EXPR_STMT@[53; 54)
ERROR@[53; 54)
AT@[53; 54)
AT@[53; 54) "@"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[54; 55)
ERROR@[54; 55)
COMMA@[54; 55)
COMMA@[54; 55) ","
err: `expected SEMI`
WHITESPACE@[55; 56)
WHITESPACE@[55; 56) " "
IMPL_BLOCK@[56; 60)
IMPL_KW@[56; 60)
IMPL_KW@[56; 60) "impl"
err: `expected type`
err: `expected `{``
err: `expected expression`
EXPR_STMT@[60; 61)
ERROR@[60; 61)
COMMA@[60; 61)
COMMA@[60; 61) ","
err: `expected SEMI`
WHITESPACE@[61; 62)
WHITESPACE@[61; 62) " "
LET_STMT@[62; 65)
LET_KW@[62; 65)
LET_KW@[62; 65) "let"
err: `expected pattern`
err: `expected SEMI`
err: `expected expression`
ERROR@[65; 66)
R_PAREN@[65; 66)
WHITESPACE@[66; 67)
R_CURLY@[67; 68)
WHITESPACE@[68; 69)
R_PAREN@[65; 66) ")"
WHITESPACE@[66; 67) " "
R_CURLY@[67; 68) "}"
WHITESPACE@[68; 69) "\n"
FN_DEF@[69; 111)
FN_KW@[69; 71)
WHITESPACE@[71; 72)
FN_KW@[69; 71) "fn"
WHITESPACE@[71; 72) " "
NAME@[72; 73)
IDENT@[72; 73) "c"
PARAM_LIST@[73; 75)
L_PAREN@[73; 74)
R_PAREN@[74; 75)
WHITESPACE@[75; 76)
L_PAREN@[73; 74) "("
R_PAREN@[74; 75) ")"
WHITESPACE@[75; 76) " "
BLOCK@[76; 111)
L_CURLY@[76; 77)
WHITESPACE@[77; 78)
L_CURLY@[76; 77) "{"
WHITESPACE@[77; 78) " "
EXPR_STMT@[78; 91)
METHOD_CALL_EXPR@[78; 91)
PATH_EXPR@[78; 81)
@ -133,57 +133,57 @@ SOURCE_FILE@[0; 112)
PATH_SEGMENT@[78; 81)
NAME_REF@[78; 81)
IDENT@[78; 81) "foo"
DOT@[81; 82)
DOT@[81; 82) "."
NAME_REF@[82; 85)
IDENT@[82; 85) "bar"
ARG_LIST@[85; 91)
L_PAREN@[85; 86)
L_PAREN@[85; 86) "("
LITERAL@[86; 87)
INT_NUMBER@[86; 87) "1"
COMMA@[87; 88)
WHITESPACE@[88; 89)
COMMA@[87; 88) ","
WHITESPACE@[88; 89) " "
LITERAL@[89; 90)
INT_NUMBER@[89; 90) "2"
COMMA@[90; 91)
COMMA@[90; 91) ","
err: `expected expression`
err: `expected SEMI`
WHITESPACE@[91; 92)
WHITESPACE@[91; 92) " "
err: `expected expression`
EXPR_STMT@[92; 93)
ERROR@[92; 93)
AT@[92; 93)
AT@[92; 93) "@"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[93; 94)
ERROR@[93; 94)
COMMA@[93; 94)
COMMA@[93; 94) ","
err: `expected SEMI`
WHITESPACE@[94; 95)
WHITESPACE@[94; 95) " "
err: `expected expression`
EXPR_STMT@[95; 96)
ERROR@[95; 96)
R_BRACK@[95; 96)
R_BRACK@[95; 96) "]"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[96; 97)
ERROR@[96; 97)
COMMA@[96; 97)
COMMA@[96; 97) ","
err: `expected SEMI`
WHITESPACE@[97; 98)
WHITESPACE@[97; 98) " "
TRAIT_DEF@[98; 104)
TRAIT_KW@[98; 103)
TRAIT_KW@[98; 103) "trait"
err: `expected a name`
ERROR@[103; 104)
COMMA@[103; 104)
COMMA@[103; 104) ","
err: `expected `{``
WHITESPACE@[104; 105)
WHITESPACE@[104; 105) " "
LET_STMT@[105; 108)
LET_KW@[105; 108)
LET_KW@[105; 108) "let"
err: `expected pattern`
err: `expected SEMI`
err: `expected expression`
ERROR@[108; 109)
R_PAREN@[108; 109)
WHITESPACE@[109; 110)
R_CURLY@[110; 111)
WHITESPACE@[111; 112)
R_PAREN@[108; 109) ")"
WHITESPACE@[109; 110) " "
R_CURLY@[110; 111) "}"
WHITESPACE@[111; 112) "\n"

View file

@ -1,43 +1,43 @@
SOURCE_FILE@[0; 94)
FN_DEF@[0; 55)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 55)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
MACRO_CALL@[16; 49)
PATH@[16; 19)
PATH_SEGMENT@[16; 19)
NAME_REF@[16; 19)
IDENT@[16; 19) "foo"
EXCL@[19; 20)
WHITESPACE@[20; 21)
EXCL@[19; 20) "!"
WHITESPACE@[20; 21) " "
TOKEN_TREE@[21; 49)
L_PAREN@[21; 22)
WHITESPACE@[22; 31)
L_PAREN@[21; 22) "("
WHITESPACE@[22; 31) "\n "
IDENT@[31; 34) "bar"
COMMA@[34; 35)
WHITESPACE@[35; 36)
STRING@[36; 41)
COMMA@[41; 42)
WHITESPACE@[42; 43)
COMMA@[34; 35) ","
WHITESPACE@[35; 36) " "
STRING@[36; 41) "\"baz\""
COMMA@[41; 42) ","
WHITESPACE@[42; 43) " "
INT_NUMBER@[43; 44) "1"
COMMA@[44; 45)
WHITESPACE@[45; 46)
COMMA@[44; 45) ","
WHITESPACE@[45; 46) " "
FLOAT_NUMBER@[46; 49) "2.0"
err: `unmatched `}``
WHITESPACE@[49; 54)
R_CURLY@[54; 55)
WHITESPACE@[55; 56)
COMMENT@[56; 91)
WHITESPACE@[91; 92)
WHITESPACE@[49; 54) "\n "
R_CURLY@[54; 55) "}"
WHITESPACE@[55; 56) " "
COMMENT@[56; 91) "//~ ERROR incorrect c ..."
WHITESPACE@[91; 92) "\n"
err: `unmatched `}``
ERROR@[92; 93)
R_CURLY@[92; 93)
WHITESPACE@[93; 94)
R_CURLY@[92; 93) "}"
WHITESPACE@[93; 94) "\n"

View file

@ -1,89 +1,89 @@
SOURCE_FILE@[0; 240)
FN_DEF@[0; 53)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 4)
IDENT@[3; 4) "f"
TYPE_PARAM_LIST@[4; 48)
L_ANGLE@[4; 5)
L_ANGLE@[4; 5) "<"
TYPE_PARAM@[5; 47)
NAME@[5; 6)
IDENT@[5; 6) "T"
COLON@[6; 7)
WHITESPACE@[7; 8)
COLON@[6; 7) ":"
WHITESPACE@[7; 8) " "
TYPE_BOUND_LIST@[8; 47)
TYPE_BOUND@[8; 14)
L_PAREN@[8; 9)
L_PAREN@[8; 9) "("
PATH_TYPE@[9; 13)
PATH@[9; 13)
PATH_SEGMENT@[9; 13)
NAME_REF@[9; 13)
IDENT@[9; 13) "Copy"
R_PAREN@[13; 14)
WHITESPACE@[14; 15)
PLUS@[15; 16)
WHITESPACE@[16; 17)
R_PAREN@[13; 14) ")"
WHITESPACE@[14; 15) " "
PLUS@[15; 16) "+"
WHITESPACE@[16; 17) " "
TYPE_BOUND@[17; 25)
L_PAREN@[17; 18)
QUESTION@[18; 19)
L_PAREN@[17; 18) "("
QUESTION@[18; 19) "?"
PATH_TYPE@[19; 24)
PATH@[19; 24)
PATH_SEGMENT@[19; 24)
NAME_REF@[19; 24)
IDENT@[19; 24) "Sized"
R_PAREN@[24; 25)
WHITESPACE@[25; 26)
PLUS@[26; 27)
WHITESPACE@[27; 28)
R_PAREN@[24; 25) ")"
WHITESPACE@[25; 26) " "
PLUS@[26; 27) "+"
WHITESPACE@[27; 28) " "
TYPE_BOUND@[28; 47)
L_PAREN@[28; 29)
L_PAREN@[28; 29) "("
FOR_TYPE@[29; 46)
FOR_KW@[29; 32)
FOR_KW@[29; 32) "for"
TYPE_PARAM_LIST@[32; 36)
L_ANGLE@[32; 33)
L_ANGLE@[32; 33) "<"
LIFETIME_PARAM@[33; 35)
LIFETIME@[33; 35) "'a"
R_ANGLE@[35; 36)
WHITESPACE@[36; 37)
LIFETIME@[33; 35) "\'a"
R_ANGLE@[35; 36) ">"
WHITESPACE@[36; 37) " "
PATH_TYPE@[37; 46)
PATH@[37; 46)
PATH_SEGMENT@[37; 46)
NAME_REF@[37; 42)
IDENT@[37; 42) "Trait"
TYPE_ARG_LIST@[42; 46)
L_ANGLE@[42; 43)
L_ANGLE@[42; 43) "<"
LIFETIME_ARG@[43; 45)
LIFETIME@[43; 45) "'a"
R_ANGLE@[45; 46)
R_PAREN@[46; 47)
R_ANGLE@[47; 48)
LIFETIME@[43; 45) "\'a"
R_ANGLE@[45; 46) ">"
R_PAREN@[46; 47) ")"
R_ANGLE@[47; 48) ">"
PARAM_LIST@[48; 50)
L_PAREN@[48; 49)
R_PAREN@[49; 50)
WHITESPACE@[50; 51)
L_PAREN@[48; 49) "("
R_PAREN@[49; 50) ")"
WHITESPACE@[50; 51) " "
BLOCK@[51; 53)
L_CURLY@[51; 52)
R_CURLY@[52; 53)
WHITESPACE@[53; 55)
L_CURLY@[51; 52) "{"
R_CURLY@[52; 53) "}"
WHITESPACE@[53; 55) "\n\n"
FN_DEF@[55; 239)
FN_KW@[55; 57)
WHITESPACE@[57; 58)
FN_KW@[55; 57) "fn"
WHITESPACE@[57; 58) " "
NAME@[58; 62)
IDENT@[58; 62) "main"
PARAM_LIST@[62; 64)
L_PAREN@[62; 63)
R_PAREN@[63; 64)
WHITESPACE@[64; 65)
L_PAREN@[62; 63) "("
R_PAREN@[63; 64) ")"
WHITESPACE@[64; 65) " "
BLOCK@[65; 239)
L_CURLY@[65; 66)
WHITESPACE@[66; 71)
L_CURLY@[65; 66) "{"
WHITESPACE@[66; 71) "\n "
LET_STMT@[71; 121)
LET_KW@[71; 74)
WHITESPACE@[74; 75)
LET_KW@[71; 74) "let"
WHITESPACE@[74; 75) " "
PLACEHOLDER_PAT@[75; 76)
UNDERSCORE@[75; 76)
COLON@[76; 77)
WHITESPACE@[77; 78)
UNDERSCORE@[75; 76) "_"
COLON@[76; 77) ":"
WHITESPACE@[77; 78) " "
DYN_TRAIT_TYPE@[78; 121)
TYPE_BOUND_LIST@[78; 121)
TYPE_BOUND@[78; 88)
@ -93,81 +93,81 @@ SOURCE_FILE@[0; 240)
NAME_REF@[78; 81)
IDENT@[78; 81) "Box"
TYPE_ARG_LIST@[81; 88)
L_ANGLE@[81; 82)
L_ANGLE@[81; 82) "<"
TYPE_ARG@[82; 88)
PAREN_TYPE@[82; 88)
L_PAREN@[82; 83)
L_PAREN@[82; 83) "("
PATH_TYPE@[83; 87)
PATH@[83; 87)
PATH_SEGMENT@[83; 87)
NAME_REF@[83; 87)
IDENT@[83; 87) "Copy"
R_PAREN@[87; 88)
R_PAREN@[87; 88) ")"
err: `expected COMMA`
err: `expected R_ANGLE`
WHITESPACE@[88; 89)
PLUS@[89; 90)
WHITESPACE@[90; 91)
WHITESPACE@[88; 89) " "
PLUS@[89; 90) "+"
WHITESPACE@[90; 91) " "
TYPE_BOUND@[91; 99)
L_PAREN@[91; 92)
QUESTION@[92; 93)
L_PAREN@[91; 92) "("
QUESTION@[92; 93) "?"
PATH_TYPE@[93; 98)
PATH@[93; 98)
PATH_SEGMENT@[93; 98)
NAME_REF@[93; 98)
IDENT@[93; 98) "Sized"
R_PAREN@[98; 99)
WHITESPACE@[99; 100)
PLUS@[100; 101)
WHITESPACE@[101; 102)
R_PAREN@[98; 99) ")"
WHITESPACE@[99; 100) " "
PLUS@[100; 101) "+"
WHITESPACE@[101; 102) " "
TYPE_BOUND@[102; 121)
L_PAREN@[102; 103)
L_PAREN@[102; 103) "("
FOR_TYPE@[103; 120)
FOR_KW@[103; 106)
FOR_KW@[103; 106) "for"
TYPE_PARAM_LIST@[106; 110)
L_ANGLE@[106; 107)
L_ANGLE@[106; 107) "<"
LIFETIME_PARAM@[107; 109)
LIFETIME@[107; 109) "'a"
R_ANGLE@[109; 110)
WHITESPACE@[110; 111)
LIFETIME@[107; 109) "\'a"
R_ANGLE@[109; 110) ">"
WHITESPACE@[110; 111) " "
PATH_TYPE@[111; 120)
PATH@[111; 120)
PATH_SEGMENT@[111; 120)
NAME_REF@[111; 116)
IDENT@[111; 116) "Trait"
TYPE_ARG_LIST@[116; 120)
L_ANGLE@[116; 117)
L_ANGLE@[116; 117) "<"
LIFETIME_ARG@[117; 119)
LIFETIME@[117; 119) "'a"
R_ANGLE@[119; 120)
R_PAREN@[120; 121)
LIFETIME@[117; 119) "\'a"
R_ANGLE@[119; 120) ">"
R_PAREN@[120; 121) ")"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[121; 123)
ERROR@[121; 122)
R_ANGLE@[121; 122)
SEMI@[122; 123)
WHITESPACE@[123; 128)
R_ANGLE@[121; 122) ">"
SEMI@[122; 123) ";"
WHITESPACE@[123; 128) "\n "
LET_STMT@[128; 141)
LET_KW@[128; 131)
WHITESPACE@[131; 132)
LET_KW@[128; 131) "let"
WHITESPACE@[131; 132) " "
PLACEHOLDER_PAT@[132; 133)
UNDERSCORE@[132; 133)
COLON@[133; 134)
WHITESPACE@[134; 135)
UNDERSCORE@[132; 133) "_"
COLON@[133; 134) ":"
WHITESPACE@[134; 135) " "
PATH_TYPE@[135; 141)
PATH@[135; 141)
PATH_SEGMENT@[135; 141)
NAME_REF@[135; 138)
IDENT@[135; 138) "Box"
TYPE_ARG_LIST@[138; 141)
L_ANGLE@[138; 139)
L_ANGLE@[138; 139) "<"
TYPE_ARG@[139; 141)
PAREN_TYPE@[139; 141)
L_PAREN@[139; 140)
L_PAREN@[139; 140) "("
err: `expected type`
ERROR@[140; 141)
QUESTION@[140; 141)
QUESTION@[140; 141) "?"
err: `expected R_PAREN`
err: `expected COMMA`
err: `expected R_ANGLE`
@ -182,38 +182,38 @@ SOURCE_FILE@[0; 240)
err: `expected expression`
EXPR_STMT@[146; 147)
ERROR@[146; 147)
R_PAREN@[146; 147)
R_PAREN@[146; 147) ")"
err: `expected SEMI`
WHITESPACE@[147; 148)
WHITESPACE@[147; 148) " "
err: `expected expression`
EXPR_STMT@[148; 149)
ERROR@[148; 149)
PLUS@[148; 149)
PLUS@[148; 149) "+"
err: `expected SEMI`
WHITESPACE@[149; 150)
WHITESPACE@[149; 150) " "
EXPR_STMT@[150; 151)
PAREN_EXPR@[150; 151)
L_PAREN@[150; 151)
L_PAREN@[150; 151) "("
err: `expected expression`
err: `expected R_PAREN`
err: `expected SEMI`
EXPR_STMT@[151; 157)
FOR_EXPR@[151; 157)
FOR_KW@[151; 154)
FOR_KW@[151; 154) "for"
err: `expected pattern`
ERROR@[154; 155)
L_ANGLE@[154; 155)
L_ANGLE@[154; 155) "<"
err: `expected IN_KW`
err: `expected expression`
ERROR@[155; 157)
LIFETIME@[155; 157) "'a"
LIFETIME@[155; 157) "\'a"
err: `expected a block`
err: `expected expression`
EXPR_STMT@[157; 158)
ERROR@[157; 158)
R_ANGLE@[157; 158)
R_ANGLE@[157; 158) ">"
err: `expected SEMI`
WHITESPACE@[158; 159)
WHITESPACE@[158; 159) " "
EXPR_STMT@[159; 180)
BIN_EXPR@[159; 180)
BIN_EXPR@[159; 178)
@ -224,38 +224,38 @@ SOURCE_FILE@[0; 240)
PATH_SEGMENT@[159; 164)
NAME_REF@[159; 164)
IDENT@[159; 164) "Trait"
L_ANGLE@[164; 165)
L_ANGLE@[164; 165) "<"
err: `expected expression`
ERROR@[165; 167)
LIFETIME@[165; 167) "'a"
R_ANGLE@[167; 168)
LIFETIME@[165; 167) "\'a"
R_ANGLE@[167; 168) ">"
err: `expected expression`
ERROR@[168; 169)
R_PAREN@[168; 169)
WHITESPACE@[169; 170)
PLUS@[170; 171)
WHITESPACE@[171; 172)
R_PAREN@[168; 169) ")"
WHITESPACE@[169; 170) " "
PLUS@[170; 171) "+"
WHITESPACE@[171; 172) " "
PAREN_EXPR@[172; 178)
L_PAREN@[172; 173)
L_PAREN@[172; 173) "("
PATH_EXPR@[173; 177)
PATH@[173; 177)
PATH_SEGMENT@[173; 177)
NAME_REF@[173; 177)
IDENT@[173; 177) "Copy"
R_PAREN@[177; 178)
R_ANGLE@[178; 179)
R_PAREN@[177; 178) ")"
R_ANGLE@[178; 179) ">"
err: `expected expression`
ERROR@[179; 180)
SEMI@[179; 180)
SEMI@[179; 180) ";"
err: `expected SEMI`
WHITESPACE@[180; 185)
WHITESPACE@[180; 185) "\n "
LET_STMT@[185; 235)
LET_KW@[185; 188)
WHITESPACE@[188; 189)
LET_KW@[185; 188) "let"
WHITESPACE@[188; 189) " "
PLACEHOLDER_PAT@[189; 190)
UNDERSCORE@[189; 190)
COLON@[190; 191)
WHITESPACE@[191; 192)
UNDERSCORE@[189; 190) "_"
COLON@[190; 191) ":"
WHITESPACE@[191; 192) " "
DYN_TRAIT_TYPE@[192; 235)
TYPE_BOUND_LIST@[192; 235)
TYPE_BOUND@[192; 215)
@ -265,60 +265,60 @@ SOURCE_FILE@[0; 240)
NAME_REF@[192; 195)
IDENT@[192; 195) "Box"
TYPE_ARG_LIST@[195; 215)
L_ANGLE@[195; 196)
L_ANGLE@[195; 196) "<"
TYPE_ARG@[196; 215)
PAREN_TYPE@[196; 215)
L_PAREN@[196; 197)
L_PAREN@[196; 197) "("
FOR_TYPE@[197; 214)
FOR_KW@[197; 200)
FOR_KW@[197; 200) "for"
TYPE_PARAM_LIST@[200; 204)
L_ANGLE@[200; 201)
L_ANGLE@[200; 201) "<"
LIFETIME_PARAM@[201; 203)
LIFETIME@[201; 203) "'a"
R_ANGLE@[203; 204)
WHITESPACE@[204; 205)
LIFETIME@[201; 203) "\'a"
R_ANGLE@[203; 204) ">"
WHITESPACE@[204; 205) " "
PATH_TYPE@[205; 214)
PATH@[205; 214)
PATH_SEGMENT@[205; 214)
NAME_REF@[205; 210)
IDENT@[205; 210) "Trait"
TYPE_ARG_LIST@[210; 214)
L_ANGLE@[210; 211)
L_ANGLE@[210; 211) "<"
LIFETIME_ARG@[211; 213)
LIFETIME@[211; 213) "'a"
R_ANGLE@[213; 214)
R_PAREN@[214; 215)
LIFETIME@[211; 213) "\'a"
R_ANGLE@[213; 214) ">"
R_PAREN@[214; 215) ")"
err: `expected COMMA`
err: `expected R_ANGLE`
WHITESPACE@[215; 216)
PLUS@[216; 217)
WHITESPACE@[217; 218)
WHITESPACE@[215; 216) " "
PLUS@[216; 217) "+"
WHITESPACE@[217; 218) " "
TYPE_BOUND@[218; 224)
L_PAREN@[218; 219)
L_PAREN@[218; 219) "("
PATH_TYPE@[219; 223)
PATH@[219; 223)
PATH_SEGMENT@[219; 223)
NAME_REF@[219; 223)
IDENT@[219; 223) "Copy"
R_PAREN@[223; 224)
WHITESPACE@[224; 225)
PLUS@[225; 226)
WHITESPACE@[226; 227)
R_PAREN@[223; 224) ")"
WHITESPACE@[224; 225) " "
PLUS@[225; 226) "+"
WHITESPACE@[226; 227) " "
TYPE_BOUND@[227; 235)
L_PAREN@[227; 228)
QUESTION@[228; 229)
L_PAREN@[227; 228) "("
QUESTION@[228; 229) "?"
PATH_TYPE@[229; 234)
PATH@[229; 234)
PATH_SEGMENT@[229; 234)
NAME_REF@[229; 234)
IDENT@[229; 234) "Sized"
R_PAREN@[234; 235)
R_PAREN@[234; 235) ")"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[235; 237)
ERROR@[235; 236)
R_ANGLE@[235; 236)
SEMI@[236; 237)
WHITESPACE@[237; 238)
R_CURLY@[238; 239)
WHITESPACE@[239; 240)
R_ANGLE@[235; 236) ">"
SEMI@[236; 237) ";"
WHITESPACE@[237; 238) "\n"
R_CURLY@[238; 239) "}"
WHITESPACE@[239; 240) "\n"

View file

@ -1,158 +1,158 @@
SOURCE_FILE@[0; 575)
FN_DEF@[0; 574)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 574)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
ENUM_DEF@[16; 152)
ENUM_KW@[16; 20)
WHITESPACE@[20; 21)
ENUM_KW@[16; 20) "enum"
WHITESPACE@[20; 21) " "
NAME@[21; 25)
IDENT@[21; 25) "Test"
WHITESPACE@[25; 26)
WHITESPACE@[25; 26) " "
ENUM_VARIANT_LIST@[26; 152)
L_CURLY@[26; 27)
WHITESPACE@[27; 36)
L_CURLY@[26; 27) "{"
WHITESPACE@[27; 36) "\n "
ENUM_VARIANT@[36; 40)
NAME@[36; 40)
IDENT@[36; 40) "Var1"
COMMA@[40; 41)
WHITESPACE@[41; 50)
COMMA@[40; 41) ","
WHITESPACE@[41; 50) "\n "
ENUM_VARIANT@[50; 62)
NAME@[50; 54)
IDENT@[50; 54) "Var2"
POS_FIELD_DEF_LIST@[54; 62)
L_PAREN@[54; 55)
L_PAREN@[54; 55) "("
POS_FIELD_DEF@[55; 61)
PATH_TYPE@[55; 61)
PATH@[55; 61)
PATH_SEGMENT@[55; 61)
NAME_REF@[55; 61)
IDENT@[55; 61) "String"
R_PAREN@[61; 62)
COMMA@[62; 63)
WHITESPACE@[63; 72)
R_PAREN@[61; 62) ")"
COMMA@[62; 63) ","
WHITESPACE@[63; 72) "\n "
ENUM_VARIANT@[72; 145)
NAME@[72; 76)
IDENT@[72; 76) "Var3"
WHITESPACE@[76; 77)
WHITESPACE@[76; 77) " "
NAMED_FIELD_DEF_LIST@[77; 145)
L_CURLY@[77; 78)
WHITESPACE@[78; 91)
L_CURLY@[77; 78) "{"
WHITESPACE@[78; 91) "\n "
NAMED_FIELD_DEF@[91; 95)
NAME@[91; 94)
IDENT@[91; 94) "abc"
COLON@[94; 95)
COLON@[94; 95) ":"
err: `expected type`
err: `expected COMMA`
WHITESPACE@[95; 96)
WHITESPACE@[95; 96) " "
err: `expected field`
ERROR@[96; 98)
L_CURLY@[96; 97)
R_CURLY@[97; 98)
L_CURLY@[96; 97) "{"
R_CURLY@[97; 98) "}"
err: `expected field declaration`
ERROR@[98; 99)
COMMA@[98; 99)
WHITESPACE@[99; 100)
COMMENT@[100; 135)
WHITESPACE@[135; 144)
R_CURLY@[144; 145)
COMMA@[145; 146)
WHITESPACE@[146; 151)
R_CURLY@[151; 152)
WHITESPACE@[152; 158)
COMMENT@[158; 171)
WHITESPACE@[171; 176)
COMMA@[98; 99) ","
WHITESPACE@[99; 100) " "
COMMENT@[100; 135) "//~ ERROR: expected t ..."
WHITESPACE@[135; 144) "\n "
R_CURLY@[144; 145) "}"
COMMA@[145; 146) ","
WHITESPACE@[146; 151) "\n "
R_CURLY@[151; 152) "}"
WHITESPACE@[152; 158) "\n\n "
COMMENT@[158; 171) "// recover..."
WHITESPACE@[171; 176) "\n "
LET_STMT@[176; 186)
LET_KW@[176; 179)
WHITESPACE@[179; 180)
LET_KW@[176; 179) "let"
WHITESPACE@[179; 180) " "
BIND_PAT@[180; 181)
NAME@[180; 181)
IDENT@[180; 181) "a"
WHITESPACE@[181; 182)
EQ@[182; 183)
WHITESPACE@[183; 184)
WHITESPACE@[181; 182) " "
EQ@[182; 183) "="
WHITESPACE@[183; 184) " "
LITERAL@[184; 185)
INT_NUMBER@[184; 185) "1"
SEMI@[185; 186)
WHITESPACE@[186; 191)
SEMI@[185; 186) ";"
WHITESPACE@[186; 191) "\n "
ENUM_DEF@[191; 223)
ENUM_KW@[191; 195)
WHITESPACE@[195; 196)
ENUM_KW@[191; 195) "enum"
WHITESPACE@[195; 196) " "
NAME@[196; 201)
IDENT@[196; 201) "Test2"
WHITESPACE@[201; 202)
WHITESPACE@[201; 202) " "
ENUM_VARIANT_LIST@[202; 223)
L_CURLY@[202; 203)
WHITESPACE@[203; 212)
L_CURLY@[202; 203) "{"
WHITESPACE@[203; 212) "\n "
ENUM_VARIANT@[212; 216)
NAME@[212; 216)
IDENT@[212; 216) "Fine"
COMMA@[216; 217)
WHITESPACE@[217; 222)
R_CURLY@[222; 223)
WHITESPACE@[223; 229)
COMMA@[216; 217) ","
WHITESPACE@[217; 222) "\n "
R_CURLY@[222; 223) "}"
WHITESPACE@[223; 229) "\n\n "
ENUM_DEF@[229; 300)
ENUM_KW@[229; 233)
WHITESPACE@[233; 234)
ENUM_KW@[229; 233) "enum"
WHITESPACE@[233; 234) " "
NAME@[234; 239)
IDENT@[234; 239) "Test3"
WHITESPACE@[239; 240)
WHITESPACE@[239; 240) " "
ENUM_VARIANT_LIST@[240; 300)
L_CURLY@[240; 241)
WHITESPACE@[241; 250)
L_CURLY@[240; 241) "{"
WHITESPACE@[241; 250) "\n "
ENUM_VARIANT@[250; 293)
NAME@[250; 259)
IDENT@[250; 259) "StillFine"
WHITESPACE@[259; 260)
WHITESPACE@[259; 260) " "
NAMED_FIELD_DEF_LIST@[260; 293)
L_CURLY@[260; 261)
WHITESPACE@[261; 274)
L_CURLY@[260; 261) "{"
WHITESPACE@[261; 274) "\n "
NAMED_FIELD_DEF@[274; 282)
NAME@[274; 277)
IDENT@[274; 277) "def"
COLON@[277; 278)
WHITESPACE@[278; 279)
COLON@[277; 278) ":"
WHITESPACE@[278; 279) " "
PATH_TYPE@[279; 282)
PATH@[279; 282)
PATH_SEGMENT@[279; 282)
NAME_REF@[279; 282)
IDENT@[279; 282) "i32"
COMMA@[282; 283)
WHITESPACE@[283; 292)
R_CURLY@[292; 293)
COMMA@[293; 294)
WHITESPACE@[294; 299)
R_CURLY@[299; 300)
WHITESPACE@[300; 306)
COMMA@[282; 283) ","
WHITESPACE@[283; 292) "\n "
R_CURLY@[292; 293) "}"
COMMA@[293; 294) ","
WHITESPACE@[294; 299) "\n "
R_CURLY@[299; 300) "}"
WHITESPACE@[300; 306) "\n\n "
EXPR_STMT@[306; 459)
BLOCK_EXPR@[306; 459)
BLOCK@[306; 459)
L_CURLY@[306; 307)
WHITESPACE@[307; 316)
L_CURLY@[306; 307) "{"
WHITESPACE@[307; 316) "\n "
ENUM_DEF@[316; 453)
COMMENT@[316; 329)
WHITESPACE@[329; 338)
ENUM_KW@[338; 342)
WHITESPACE@[342; 343)
COMMENT@[316; 329) "// fail again"
WHITESPACE@[329; 338) "\n "
ENUM_KW@[338; 342) "enum"
WHITESPACE@[342; 343) " "
NAME@[343; 348)
IDENT@[343; 348) "Test4"
WHITESPACE@[348; 349)
WHITESPACE@[348; 349) " "
ENUM_VARIANT_LIST@[349; 453)
L_CURLY@[349; 350)
WHITESPACE@[350; 363)
L_CURLY@[349; 350) "{"
WHITESPACE@[350; 363) "\n "
ENUM_VARIANT@[363; 372)
NAME@[363; 367)
IDENT@[363; 367) "Nope"
POS_FIELD_DEF_LIST@[367; 372)
L_PAREN@[367; 368)
L_PAREN@[367; 368) "("
POS_FIELD_DEF@[368; 371)
PATH_TYPE@[368; 371)
PATH@[368; 371)
@ -160,44 +160,44 @@ SOURCE_FILE@[0; 575)
NAME_REF@[368; 371)
IDENT@[368; 371) "i32"
err: `expected COMMA`
WHITESPACE@[371; 372)
WHITESPACE@[371; 372) " "
err: `expected a type`
err: `expected R_PAREN`
err: `expected COMMA`
err: `expected enum variant`
ERROR@[372; 372)
ERROR@[372; 374)
L_CURLY@[372; 373)
R_CURLY@[373; 374)
L_CURLY@[372; 373) "{"
R_CURLY@[373; 374) "}"
err: `expected enum variant`
ERROR@[374; 375)
R_PAREN@[374; 375)
WHITESPACE@[375; 376)
COMMENT@[376; 396)
WHITESPACE@[396; 422)
COMMENT@[422; 443)
WHITESPACE@[443; 452)
R_CURLY@[452; 453)
WHITESPACE@[453; 458)
R_CURLY@[458; 459)
WHITESPACE@[459; 464)
COMMENT@[464; 486)
WHITESPACE@[486; 491)
R_PAREN@[374; 375) ")"
WHITESPACE@[375; 376) " "
COMMENT@[376; 396) "//~ ERROR: found `{`"
WHITESPACE@[396; 422) "\n ..."
COMMENT@[422; 443) "//~^ ERROR: found `{`"
WHITESPACE@[443; 452) "\n "
R_CURLY@[452; 453) "}"
WHITESPACE@[453; 458) "\n "
R_CURLY@[458; 459) "}"
WHITESPACE@[459; 464) "\n "
COMMENT@[464; 486) "// still recover later"
WHITESPACE@[486; 491) "\n "
LET_STMT@[491; 510)
LET_KW@[491; 494)
WHITESPACE@[494; 495)
LET_KW@[491; 494) "let"
WHITESPACE@[494; 495) " "
BIND_PAT@[495; 505)
NAME@[495; 505)
IDENT@[495; 505) "bad_syntax"
WHITESPACE@[505; 506)
EQ@[506; 507)
WHITESPACE@[507; 508)
WHITESPACE@[505; 506) " "
EQ@[506; 507) "="
WHITESPACE@[507; 508) " "
err: `expected expression`
ERROR@[508; 509)
UNDERSCORE@[508; 509)
SEMI@[509; 510)
WHITESPACE@[510; 511)
COMMENT@[511; 572)
WHITESPACE@[572; 573)
R_CURLY@[573; 574)
WHITESPACE@[574; 575)
UNDERSCORE@[508; 509) "_"
SEMI@[509; 510) ";"
WHITESPACE@[510; 511) " "
COMMENT@[511; 572) "//~ ERROR: expected e ..."
WHITESPACE@[572; 573) "\n"
R_CURLY@[573; 574) "}"
WHITESPACE@[574; 575) "\n"

View file

@ -1,13 +1,13 @@
SOURCE_FILE@[0; 38)
IMPL_BLOCK@[0; 14)
IMPL_KW@[0; 4)
IMPL_KW@[0; 4) "impl"
TYPE_PARAM_LIST@[4; 14)
L_ANGLE@[4; 5)
L_ANGLE@[4; 5) "<"
TYPE_PARAM@[5; 13)
NAME@[5; 6)
IDENT@[5; 6) "T"
COLON@[6; 7)
WHITESPACE@[7; 8)
COLON@[6; 7) ":"
WHITESPACE@[7; 8) " "
TYPE_BOUND_LIST@[8; 13)
TYPE_BOUND@[8; 13)
PATH_TYPE@[8; 13)
@ -15,35 +15,35 @@ SOURCE_FILE@[0; 38)
PATH_SEGMENT@[8; 13)
NAME_REF@[8; 13)
IDENT@[8; 13) "Clone"
R_ANGLE@[13; 14)
R_ANGLE@[13; 14) ">"
err: `expected trait or type`
err: `expected `{``
WHITESPACE@[14; 15)
WHITESPACE@[14; 15) "\n"
IMPL_BLOCK@[15; 37)
IMPL_KW@[15; 19)
IMPL_KW@[15; 19) "impl"
TYPE_PARAM_LIST@[19; 22)
L_ANGLE@[19; 20)
L_ANGLE@[19; 20) "<"
TYPE_PARAM@[20; 21)
NAME@[20; 21)
IDENT@[20; 21) "T"
R_ANGLE@[21; 22)
WHITESPACE@[22; 23)
R_ANGLE@[21; 22) ">"
WHITESPACE@[22; 23) " "
PATH_TYPE@[23; 34)
PATH@[23; 34)
PATH_SEGMENT@[23; 34)
NAME_REF@[23; 31)
IDENT@[23; 31) "OnceCell"
TYPE_ARG_LIST@[31; 34)
L_ANGLE@[31; 32)
L_ANGLE@[31; 32) "<"
TYPE_ARG@[32; 33)
PATH_TYPE@[32; 33)
PATH@[32; 33)
PATH_SEGMENT@[32; 33)
NAME_REF@[32; 33)
IDENT@[32; 33) "T"
R_ANGLE@[33; 34)
WHITESPACE@[34; 35)
R_ANGLE@[33; 34) ">"
WHITESPACE@[34; 35) " "
ITEM_LIST@[35; 37)
L_CURLY@[35; 36)
R_CURLY@[36; 37)
WHITESPACE@[37; 38)
L_CURLY@[35; 36) "{"
R_CURLY@[36; 37) "}"
WHITESPACE@[37; 38) "\n"

View file

@ -1,28 +1,28 @@
SOURCE_FILE@[0; 30)
FN_DEF@[0; 29)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 13)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 13) "\n "
WHERE_CLAUSE@[13; 26)
WHERE_KW@[13; 18)
WHITESPACE@[18; 19)
WHERE_KW@[13; 18) "where"
WHITESPACE@[18; 19) " "
WHERE_PRED@[19; 26)
FOR_TYPE@[19; 26)
FOR_KW@[19; 22)
FOR_KW@[19; 22) "for"
TYPE_PARAM_LIST@[22; 26)
L_ANGLE@[22; 23)
L_ANGLE@[22; 23) "<"
LIFETIME_PARAM@[23; 25)
LIFETIME@[23; 25) "'a"
R_ANGLE@[25; 26)
LIFETIME@[23; 25) "\'a"
R_ANGLE@[25; 26) ">"
err: `expected a path`
err: `expected colon`
WHITESPACE@[26; 27)
WHITESPACE@[26; 27) "\n"
BLOCK@[27; 29)
L_CURLY@[27; 28)
R_CURLY@[28; 29)
WHITESPACE@[29; 30)
L_CURLY@[27; 28) "{"
R_CURLY@[28; 29) "}"
WHITESPACE@[29; 30) "\n"

View file

@ -5,80 +5,80 @@ SOURCE_FILE@[0; 349)
NAME_REF@[0; 5)
IDENT@[0; 5) "macro"
err: `expected EXCL`
WHITESPACE@[5; 6)
WHITESPACE@[5; 6) " "
NAME@[6; 21)
IDENT@[6; 21) "parse_use_trees"
TOKEN_TREE@[21; 41)
L_PAREN@[21; 22)
DOLLAR@[22; 23)
L_PAREN@[21; 22) "("
DOLLAR@[22; 23) "$"
TOKEN_TREE@[23; 32)
L_PAREN@[23; 24)
DOLLAR@[24; 25)
L_PAREN@[23; 24) "("
DOLLAR@[24; 25) "$"
IDENT@[25; 26) "s"
COLON@[26; 27)
COLON@[26; 27) ":"
IDENT@[27; 31) "expr"
R_PAREN@[31; 32)
COMMA@[32; 33)
STAR@[33; 34)
WHITESPACE@[34; 35)
DOLLAR@[35; 36)
R_PAREN@[31; 32) ")"
COMMA@[32; 33) ","
STAR@[33; 34) "*"
WHITESPACE@[34; 35) " "
DOLLAR@[35; 36) "$"
TOKEN_TREE@[36; 39)
L_PAREN@[36; 37)
COMMA@[37; 38)
R_PAREN@[38; 39)
STAR@[39; 40)
R_PAREN@[40; 41)
L_PAREN@[36; 37) "("
COMMA@[37; 38) ","
R_PAREN@[38; 39) ")"
STAR@[39; 40) "*"
R_PAREN@[40; 41) ")"
err: `expected SEMI`
WHITESPACE@[41; 42)
WHITESPACE@[41; 42) " "
err: `expected an item`
ERROR@[42; 93)
L_CURLY@[42; 43)
WHITESPACE@[43; 48)
L_CURLY@[42; 43) "{"
WHITESPACE@[43; 48) "\n "
MACRO_CALL@[48; 91)
PATH@[48; 51)
PATH_SEGMENT@[48; 51)
NAME_REF@[48; 51)
IDENT@[48; 51) "vec"
EXCL@[51; 52)
EXCL@[51; 52) "!"
TOKEN_TREE@[52; 91)
L_BRACK@[52; 53)
WHITESPACE@[53; 62)
DOLLAR@[62; 63)
L_BRACK@[52; 53) "["
WHITESPACE@[53; 62) "\n "
DOLLAR@[62; 63) "$"
TOKEN_TREE@[63; 84)
L_PAREN@[63; 64)
L_PAREN@[63; 64) "("
IDENT@[64; 78) "parse_use_tree"
TOKEN_TREE@[78; 82)
L_PAREN@[78; 79)
DOLLAR@[79; 80)
L_PAREN@[78; 79) "("
DOLLAR@[79; 80) "$"
IDENT@[80; 81) "s"
R_PAREN@[81; 82)
COMMA@[82; 83)
R_PAREN@[83; 84)
STAR@[84; 85)
WHITESPACE@[85; 90)
R_BRACK@[90; 91)
WHITESPACE@[91; 92)
R_CURLY@[92; 93)
WHITESPACE@[93; 95)
R_PAREN@[81; 82) ")"
COMMA@[82; 83) ","
R_PAREN@[83; 84) ")"
STAR@[84; 85) "*"
WHITESPACE@[85; 90) "\n "
R_BRACK@[90; 91) "]"
WHITESPACE@[91; 92) "\n"
R_CURLY@[92; 93) "}"
WHITESPACE@[93; 95) "\n\n"
FN_DEF@[95; 348)
ATTR@[95; 102)
POUND@[95; 96)
POUND@[95; 96) "#"
TOKEN_TREE@[96; 102)
L_BRACK@[96; 97)
L_BRACK@[96; 97) "["
IDENT@[97; 101) "test"
R_BRACK@[101; 102)
WHITESPACE@[102; 103)
FN_KW@[103; 105)
WHITESPACE@[105; 106)
R_BRACK@[101; 102) "]"
WHITESPACE@[102; 103) "\n"
FN_KW@[103; 105) "fn"
WHITESPACE@[105; 106) " "
NAME@[106; 125)
IDENT@[106; 125) "test_use_tree_merge"
PARAM_LIST@[125; 127)
L_PAREN@[125; 126)
R_PAREN@[126; 127)
WHITESPACE@[127; 128)
L_PAREN@[125; 126) "("
R_PAREN@[126; 127) ")"
WHITESPACE@[127; 128) " "
BLOCK@[128; 348)
L_CURLY@[128; 129)
WHITESPACE@[129; 134)
L_CURLY@[128; 129) "{"
WHITESPACE@[129; 134) "\n "
EXPR_STMT@[134; 139)
PATH_EXPR@[134; 139)
PATH@[134; 139)
@ -86,7 +86,7 @@ SOURCE_FILE@[0; 349)
NAME_REF@[134; 139)
IDENT@[134; 139) "macro"
err: `expected SEMI`
WHITESPACE@[139; 140)
WHITESPACE@[139; 140) " "
EXPR_STMT@[140; 154)
CALL_EXPR@[140; 154)
PATH_EXPR@[140; 150)
@ -95,15 +95,15 @@ SOURCE_FILE@[0; 349)
NAME_REF@[140; 150)
IDENT@[140; 150) "test_merge"
ARG_LIST@[150; 154)
L_PAREN@[150; 151)
L_PAREN@[150; 151) "("
ARRAY_EXPR@[151; 154)
L_BRACK@[151; 152)
L_BRACK@[151; 152) "["
err: `expected expression`
ERROR@[152; 153)
DOLLAR@[152; 153)
DOLLAR@[152; 153) "$"
err: `expected COMMA`
PAREN_EXPR@[153; 154)
L_PAREN@[153; 154)
L_PAREN@[153; 154) "("
err: `expected expression`
err: `expected R_PAREN`
err: `expected COMMA`
@ -114,7 +114,7 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[154; 155)
ERROR@[154; 155)
DOLLAR@[154; 155)
DOLLAR@[154; 155) "$"
err: `expected SEMI`
EXPR_STMT@[155; 160)
PATH_EXPR@[155; 160)
@ -126,7 +126,7 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[160; 161)
ERROR@[160; 161)
COLON@[160; 161)
COLON@[160; 161) ":"
err: `expected SEMI`
EXPR_STMT@[161; 165)
PATH_EXPR@[161; 165)
@ -138,59 +138,59 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[165; 166)
ERROR@[165; 166)
R_PAREN@[165; 166)
R_PAREN@[165; 166) ")"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[166; 167)
ERROR@[166; 167)
COMMA@[166; 167)
COMMA@[166; 167) ","
err: `expected SEMI`
EXPR_STMT@[167; 170)
PREFIX_EXPR@[167; 170)
STAR@[167; 168)
WHITESPACE@[168; 169)
STAR@[167; 168) "*"
WHITESPACE@[168; 169) " "
err: `expected expression`
ERROR@[169; 170)
DOLLAR@[169; 170)
DOLLAR@[169; 170) "$"
err: `expected SEMI`
EXPR_STMT@[170; 171)
PAREN_EXPR@[170; 171)
L_PAREN@[170; 171)
L_PAREN@[170; 171) "("
err: `expected expression`
err: `expected R_PAREN`
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[171; 172)
ERROR@[171; 172)
COMMA@[171; 172)
COMMA@[171; 172) ","
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[172; 173)
ERROR@[172; 173)
R_PAREN@[172; 173)
R_PAREN@[172; 173) ")"
err: `expected SEMI`
EXPR_STMT@[173; 175)
PREFIX_EXPR@[173; 175)
STAR@[173; 174)
STAR@[173; 174) "*"
err: `expected expression`
ERROR@[174; 175)
R_BRACK@[174; 175)
R_BRACK@[174; 175) "]"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[175; 176)
ERROR@[175; 176)
COMMA@[175; 176)
COMMA@[175; 176) ","
err: `expected SEMI`
WHITESPACE@[176; 177)
WHITESPACE@[176; 177) " "
EXPR_STMT@[177; 180)
ARRAY_EXPR@[177; 180)
L_BRACK@[177; 178)
L_BRACK@[177; 178) "["
err: `expected expression`
ERROR@[178; 179)
DOLLAR@[178; 179)
DOLLAR@[178; 179) "$"
err: `expected COMMA`
PAREN_EXPR@[179; 180)
L_PAREN@[179; 180)
L_PAREN@[179; 180) "("
err: `expected expression`
err: `expected R_PAREN`
err: `expected COMMA`
@ -200,7 +200,7 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[180; 181)
ERROR@[180; 181)
DOLLAR@[180; 181)
DOLLAR@[180; 181) "$"
err: `expected SEMI`
EXPR_STMT@[181; 187)
PATH_EXPR@[181; 187)
@ -212,7 +212,7 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[187; 188)
ERROR@[187; 188)
COLON@[187; 188)
COLON@[187; 188) ":"
err: `expected SEMI`
EXPR_STMT@[188; 192)
PATH_EXPR@[188; 192)
@ -224,102 +224,102 @@ SOURCE_FILE@[0; 349)
err: `expected expression`
EXPR_STMT@[192; 193)
ERROR@[192; 193)
R_PAREN@[192; 193)
R_PAREN@[192; 193) ")"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[193; 194)
ERROR@[193; 194)
COMMA@[193; 194)
COMMA@[193; 194) ","
err: `expected SEMI`
EXPR_STMT@[194; 197)
PREFIX_EXPR@[194; 197)
STAR@[194; 195)
WHITESPACE@[195; 196)
STAR@[194; 195) "*"
WHITESPACE@[195; 196) " "
err: `expected expression`
ERROR@[196; 197)
DOLLAR@[196; 197)
DOLLAR@[196; 197) "$"
err: `expected SEMI`
EXPR_STMT@[197; 198)
PAREN_EXPR@[197; 198)
L_PAREN@[197; 198)
L_PAREN@[197; 198) "("
err: `expected expression`
err: `expected R_PAREN`
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[198; 199)
ERROR@[198; 199)
COMMA@[198; 199)
COMMA@[198; 199) ","
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[199; 200)
ERROR@[199; 200)
R_PAREN@[199; 200)
R_PAREN@[199; 200) ")"
err: `expected SEMI`
EXPR_STMT@[200; 202)
PREFIX_EXPR@[200; 202)
STAR@[200; 201)
STAR@[200; 201) "*"
err: `expected expression`
ERROR@[201; 202)
R_BRACK@[201; 202)
R_BRACK@[201; 202) "]"
err: `expected SEMI`
err: `expected expression`
EXPR_STMT@[202; 203)
ERROR@[202; 203)
R_PAREN@[202; 203)
R_PAREN@[202; 203) ")"
err: `expected SEMI`
WHITESPACE@[203; 204)
WHITESPACE@[203; 204) " "
BLOCK_EXPR@[204; 346)
BLOCK@[204; 346)
L_CURLY@[204; 205)
WHITESPACE@[205; 214)
L_CURLY@[204; 205) "{"
WHITESPACE@[205; 214) "\n "
EXPR_STMT@[214; 340)
MACRO_CALL@[214; 339)
PATH@[214; 223)
PATH_SEGMENT@[214; 223)
NAME_REF@[214; 223)
IDENT@[214; 223) "assert_eq"
EXCL@[223; 224)
EXCL@[223; 224) "!"
TOKEN_TREE@[224; 339)
L_PAREN@[224; 225)
WHITESPACE@[225; 238)
L_PAREN@[224; 225) "("
WHITESPACE@[225; 238) "\n "
IDENT@[238; 253) "merge_use_trees"
TOKEN_TREE@[253; 284)
L_PAREN@[253; 254)
L_PAREN@[253; 254) "("
IDENT@[254; 269) "parse_use_trees"
EXCL@[269; 270)
EXCL@[269; 270) "!"
TOKEN_TREE@[270; 283)
L_PAREN@[270; 271)
DOLLAR@[271; 272)
L_PAREN@[270; 271) "("
DOLLAR@[271; 272) "$"
TOKEN_TREE@[272; 281)
L_PAREN@[272; 273)
DOLLAR@[273; 274)
L_PAREN@[272; 273) "("
DOLLAR@[273; 274) "$"
IDENT@[274; 279) "input"
COMMA@[279; 280)
R_PAREN@[280; 281)
STAR@[281; 282)
R_PAREN@[282; 283)
R_PAREN@[283; 284)
COMMA@[284; 285)
WHITESPACE@[285; 298)
COMMA@[279; 280) ","
R_PAREN@[280; 281) ")"
STAR@[281; 282) "*"
R_PAREN@[282; 283) ")"
R_PAREN@[283; 284) ")"
COMMA@[284; 285) ","
WHITESPACE@[285; 298) "\n "
IDENT@[298; 313) "parse_use_trees"
EXCL@[313; 314)
EXCL@[313; 314) "!"
TOKEN_TREE@[314; 328)
L_PAREN@[314; 315)
DOLLAR@[315; 316)
L_PAREN@[314; 315) "("
DOLLAR@[315; 316) "$"
TOKEN_TREE@[316; 326)
L_PAREN@[316; 317)
DOLLAR@[317; 318)
L_PAREN@[316; 317) "("
DOLLAR@[317; 318) "$"
IDENT@[318; 324) "output"
COMMA@[324; 325)
R_PAREN@[325; 326)
STAR@[326; 327)
R_PAREN@[327; 328)
COMMA@[328; 329)
WHITESPACE@[329; 338)
R_PAREN@[338; 339)
SEMI@[339; 340)
WHITESPACE@[340; 345)
R_CURLY@[345; 346)
WHITESPACE@[346; 347)
R_CURLY@[347; 348)
WHITESPACE@[348; 349)
COMMA@[324; 325) ","
R_PAREN@[325; 326) ")"
STAR@[326; 327) "*"
R_PAREN@[327; 328) ")"
COMMA@[328; 329) ","
WHITESPACE@[329; 338) "\n "
R_PAREN@[338; 339) ")"
SEMI@[339; 340) ";"
WHITESPACE@[340; 345) "\n "
R_CURLY@[345; 346) "}"
WHITESPACE@[346; 347) "\n"
R_CURLY@[347; 348) "}"
WHITESPACE@[348; 349) "\n"

View file

@ -1,35 +1,35 @@
SOURCE_FILE@[0; 24)
FN_DEF@[0; 23)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 12)
L_PAREN@[6; 7)
L_PAREN@[6; 7) "("
PARAM@[7; 11)
BIND_PAT@[7; 8)
NAME@[7; 8)
IDENT@[7; 8) "a"
COLON@[8; 9)
WHITESPACE@[9; 10)
COLON@[8; 9) ":"
WHITESPACE@[9; 10) " "
PATH_TYPE@[10; 11)
PATH@[10; 11)
PATH_SEGMENT@[10; 11)
NAME_REF@[10; 11)
IDENT@[10; 11) "A"
R_PAREN@[11; 12)
WHITESPACE@[12; 13)
R_PAREN@[11; 12) ")"
WHITESPACE@[12; 13) " "
BLOCK@[13; 23)
L_CURLY@[13; 14)
WHITESPACE@[14; 19)
L_CURLY@[13; 14) "{"
WHITESPACE@[14; 19) "\n "
FIELD_EXPR@[19; 21)
PATH_EXPR@[19; 20)
PATH@[19; 20)
PATH_SEGMENT@[19; 20)
NAME_REF@[19; 20)
IDENT@[19; 20) "a"
DOT@[20; 21)
DOT@[20; 21) "."
err: `expected field name or number`
WHITESPACE@[21; 22)
R_CURLY@[22; 23)
WHITESPACE@[23; 24)
WHITESPACE@[21; 22) "\n"
R_CURLY@[22; 23) "}"
WHITESPACE@[23; 24) "\n"

View file

@ -1,26 +1,26 @@
SOURCE_FILE@[0; 112)
FN_DEF@[0; 111)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 111)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
LET_STMT@[16; 27)
LET_KW@[16; 19)
WHITESPACE@[19; 20)
LET_KW@[16; 19) "let"
WHITESPACE@[19; 20) " "
PLACEHOLDER_PAT@[20; 21)
UNDERSCORE@[20; 21)
WHITESPACE@[21; 22)
EQ@[22; 23)
WHITESPACE@[23; 24)
UNDERSCORE@[20; 21) "_"
WHITESPACE@[21; 22) " "
EQ@[22; 23) "="
WHITESPACE@[23; 24) " "
LITERAL@[24; 27)
CHAR@[24; 27)
CHAR@[24; 27) "\'c\'"
err: `expected SEMI`
EXPR_STMT@[27; 31)
PATH_EXPR@[27; 30)
@ -28,46 +28,46 @@ SOURCE_FILE@[0; 112)
PATH_SEGMENT@[27; 30)
NAME_REF@[27; 30)
IDENT@[27; 30) "u32"
SEMI@[30; 31)
WHITESPACE@[31; 36)
SEMI@[30; 31) ";"
WHITESPACE@[31; 36) "\n "
LET_STMT@[36; 60)
LET_KW@[36; 39)
WHITESPACE@[39; 40)
LET_KW@[36; 39) "let"
WHITESPACE@[39; 40) " "
PLACEHOLDER_PAT@[40; 41)
UNDERSCORE@[40; 41)
WHITESPACE@[41; 42)
EQ@[42; 43)
WHITESPACE@[43; 44)
UNDERSCORE@[40; 41) "_"
WHITESPACE@[41; 42) " "
EQ@[42; 43) "="
WHITESPACE@[43; 44) " "
LITERAL@[44; 59)
STRING@[44; 59)
STRING@[44; 59) "\"string\"invalid"
err: `Invalid literal suffix`
SEMI@[59; 60)
WHITESPACE@[60; 65)
SEMI@[59; 60) ";"
WHITESPACE@[60; 65) "\n "
LET_STMT@[65; 83)
LET_KW@[65; 68)
WHITESPACE@[68; 69)
LET_KW@[65; 68) "let"
WHITESPACE@[68; 69) " "
PLACEHOLDER_PAT@[69; 70)
UNDERSCORE@[69; 70)
WHITESPACE@[70; 71)
EQ@[71; 72)
WHITESPACE@[72; 73)
UNDERSCORE@[69; 70) "_"
WHITESPACE@[70; 71) " "
EQ@[71; 72) "="
WHITESPACE@[72; 73) " "
LITERAL@[73; 82)
BYTE@[73; 82)
BYTE@[73; 82) "b\'b\'_suff"
err: `Invalid literal suffix`
SEMI@[82; 83)
WHITESPACE@[83; 88)
SEMI@[82; 83) ";"
WHITESPACE@[83; 88) "\n "
LET_STMT@[88; 109)
LET_KW@[88; 91)
WHITESPACE@[91; 92)
LET_KW@[88; 91) "let"
WHITESPACE@[91; 92) " "
PLACEHOLDER_PAT@[92; 93)
UNDERSCORE@[92; 93)
WHITESPACE@[93; 94)
EQ@[94; 95)
WHITESPACE@[95; 96)
UNDERSCORE@[92; 93) "_"
WHITESPACE@[93; 94) " "
EQ@[94; 95) "="
WHITESPACE@[95; 96) " "
LITERAL@[96; 108)
BYTE_STRING@[96; 108)
BYTE_STRING@[96; 108) "b\"bs\"invalid"
err: `Invalid literal suffix`
SEMI@[108; 109)
WHITESPACE@[109; 110)
R_CURLY@[110; 111)
WHITESPACE@[111; 112)
SEMI@[108; 109) ";"
WHITESPACE@[109; 110) "\n"
R_CURLY@[110; 111) "}"
WHITESPACE@[111; 112) "\n"

View file

@ -1,114 +1,114 @@
SOURCE_FILE@[0; 350)
FN_DEF@[0; 349)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 8)
IDENT@[3; 8) "block"
PARAM_LIST@[8; 10)
L_PAREN@[8; 9)
R_PAREN@[9; 10)
WHITESPACE@[10; 11)
L_PAREN@[8; 9) "("
R_PAREN@[9; 10) ")"
WHITESPACE@[10; 11) " "
BLOCK@[11; 349)
L_CURLY@[11; 12)
WHITESPACE@[12; 17)
L_CURLY@[11; 12) "{"
WHITESPACE@[12; 17) "\n "
LET_STMT@[17; 129)
LET_KW@[17; 20)
WHITESPACE@[20; 21)
LET_KW@[17; 20) "let"
WHITESPACE@[20; 21) " "
BIND_PAT@[21; 26)
NAME@[21; 26)
IDENT@[21; 26) "inner"
WHITESPACE@[26; 27)
EQ@[27; 28)
WHITESPACE@[28; 29)
WHITESPACE@[26; 27) " "
EQ@[27; 28) "="
WHITESPACE@[28; 29) " "
BLOCK_EXPR@[29; 128)
BLOCK@[29; 128)
L_CURLY@[29; 30)
WHITESPACE@[30; 39)
L_CURLY@[29; 30) "{"
WHITESPACE@[30; 39) "\n "
err: `A block in this position cannot accept inner attributes`
ATTR@[39; 83)
POUND@[39; 40)
EXCL@[40; 41)
POUND@[39; 40) "#"
EXCL@[40; 41) "!"
TOKEN_TREE@[41; 83)
L_BRACK@[41; 42)
L_BRACK@[41; 42) "["
IDENT@[42; 45) "doc"
TOKEN_TREE@[45; 82)
L_PAREN@[45; 46)
STRING@[46; 81)
R_PAREN@[81; 82)
R_BRACK@[82; 83)
WHITESPACE@[83; 92)
COMMENT@[92; 122)
WHITESPACE@[122; 127)
R_CURLY@[127; 128)
SEMI@[128; 129)
WHITESPACE@[129; 134)
L_PAREN@[45; 46) "("
STRING@[46; 81) "\"Inner attributes not ..."
R_PAREN@[81; 82) ")"
R_BRACK@[82; 83) "]"
WHITESPACE@[83; 92) "\n "
COMMENT@[92; 122) "//! Nor are ModuleDoc ..."
WHITESPACE@[122; 127) "\n "
R_CURLY@[127; 128) "}"
SEMI@[128; 129) ";"
WHITESPACE@[129; 134) "\n "
EXPR_STMT@[134; 257)
IF_EXPR@[134; 257)
IF_KW@[134; 136)
WHITESPACE@[136; 137)
IF_KW@[134; 136) "if"
WHITESPACE@[136; 137) " "
CONDITION@[137; 141)
LITERAL@[137; 141)
TRUE_KW@[137; 141)
WHITESPACE@[141; 142)
TRUE_KW@[137; 141) "true"
WHITESPACE@[141; 142) " "
BLOCK@[142; 257)
L_CURLY@[142; 143)
WHITESPACE@[143; 152)
L_CURLY@[142; 143) "{"
WHITESPACE@[143; 152) "\n "
err: `A block in this position cannot accept inner attributes`
ATTR@[152; 171)
POUND@[152; 153)
EXCL@[153; 154)
POUND@[152; 153) "#"
EXCL@[153; 154) "!"
TOKEN_TREE@[154; 171)
L_BRACK@[154; 155)
L_BRACK@[154; 155) "["
IDENT@[155; 158) "doc"
TOKEN_TREE@[158; 170)
L_PAREN@[158; 159)
STRING@[159; 169)
R_PAREN@[169; 170)
R_BRACK@[170; 171)
WHITESPACE@[171; 180)
L_PAREN@[158; 159) "("
STRING@[159; 169) "\"Nor here\""
R_PAREN@[169; 170) ")"
R_BRACK@[170; 171) "]"
WHITESPACE@[171; 180) "\n "
err: `A block in this position cannot accept inner attributes`
ATTR@[180; 212)
POUND@[180; 181)
EXCL@[181; 182)
POUND@[180; 181) "#"
EXCL@[181; 182) "!"
TOKEN_TREE@[182; 212)
L_BRACK@[182; 183)
L_BRACK@[182; 183) "["
IDENT@[183; 186) "doc"
TOKEN_TREE@[186; 211)
L_PAREN@[186; 187)
STRING@[187; 210)
R_PAREN@[210; 211)
R_BRACK@[211; 212)
WHITESPACE@[212; 221)
COMMENT@[221; 251)
WHITESPACE@[251; 256)
R_CURLY@[256; 257)
WHITESPACE@[257; 262)
L_PAREN@[186; 187) "("
STRING@[187; 210) "\"We error on each attr\""
R_PAREN@[210; 211) ")"
R_BRACK@[211; 212) "]"
WHITESPACE@[212; 221) "\n "
COMMENT@[221; 251) "//! Nor are ModuleDoc ..."
WHITESPACE@[251; 256) "\n "
R_CURLY@[256; 257) "}"
WHITESPACE@[257; 262) "\n "
WHILE_EXPR@[262; 347)
WHILE_KW@[262; 267)
WHITESPACE@[267; 268)
WHILE_KW@[262; 267) "while"
WHITESPACE@[267; 268) " "
CONDITION@[268; 272)
LITERAL@[268; 272)
TRUE_KW@[268; 272)
WHITESPACE@[272; 273)
TRUE_KW@[268; 272) "true"
WHITESPACE@[272; 273) " "
BLOCK@[273; 347)
L_CURLY@[273; 274)
WHITESPACE@[274; 283)
L_CURLY@[273; 274) "{"
WHITESPACE@[274; 283) "\n "
err: `A block in this position cannot accept inner attributes`
ATTR@[283; 302)
POUND@[283; 284)
EXCL@[284; 285)
POUND@[283; 284) "#"
EXCL@[284; 285) "!"
TOKEN_TREE@[285; 302)
L_BRACK@[285; 286)
L_BRACK@[285; 286) "["
IDENT@[286; 289) "doc"
TOKEN_TREE@[289; 301)
L_PAREN@[289; 290)
STRING@[290; 300)
R_PAREN@[300; 301)
R_BRACK@[301; 302)
WHITESPACE@[302; 311)
COMMENT@[311; 341)
WHITESPACE@[341; 346)
R_CURLY@[346; 347)
WHITESPACE@[347; 348)
R_CURLY@[348; 349)
WHITESPACE@[349; 350)
L_PAREN@[289; 290) "("
STRING@[290; 300) "\"Nor here\""
R_PAREN@[300; 301) ")"
R_BRACK@[301; 302) "]"
WHITESPACE@[302; 311) "\n "
COMMENT@[311; 341) "//! Nor are ModuleDoc ..."
WHITESPACE@[341; 346) "\n "
R_CURLY@[346; 347) "}"
WHITESPACE@[347; 348) "\n"
R_CURLY@[348; 349) "}"
WHITESPACE@[349; 350) "\n"

View file

@ -1,48 +1,48 @@
SOURCE_FILE@[0; 293)
FN_DEF@[0; 292)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 292)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 101)
MATCH_EXPR@[15; 101)
MATCH_KW@[15; 20)
WHITESPACE@[20; 21)
MATCH_KW@[15; 20) "match"
WHITESPACE@[20; 21) " "
TUPLE_EXPR@[21; 23)
L_PAREN@[21; 22)
R_PAREN@[22; 23)
WHITESPACE@[23; 24)
L_PAREN@[21; 22) "("
R_PAREN@[22; 23) ")"
WHITESPACE@[23; 24) " "
MATCH_ARM_LIST@[24; 101)
L_CURLY@[24; 25)
WHITESPACE@[25; 34)
L_CURLY@[24; 25) "{"
WHITESPACE@[25; 34) "\n "
MATCH_ARM@[34; 41)
PLACEHOLDER_PAT@[34; 35)
UNDERSCORE@[34; 35)
WHITESPACE@[35; 36)
FAT_ARROW@[36; 38)
WHITESPACE@[38; 39)
UNDERSCORE@[34; 35) "_"
WHITESPACE@[35; 36) " "
FAT_ARROW@[36; 38) "=>"
WHITESPACE@[38; 39) " "
TUPLE_EXPR@[39; 41)
L_PAREN@[39; 40)
R_PAREN@[40; 41)
COMMA@[41; 42)
WHITESPACE@[42; 51)
L_PAREN@[39; 40) "("
R_PAREN@[40; 41) ")"
COMMA@[41; 42) ","
WHITESPACE@[42; 51) "\n "
MATCH_ARM@[51; 78)
ATTR@[51; 52)
POUND@[51; 52)
POUND@[51; 52) "#"
err: `expected `[``
err: `expected pattern`
ERROR@[52; 53)
EXCL@[52; 53)
EXCL@[52; 53) "!"
err: `expected FAT_ARROW`
ARRAY_EXPR@[53; 78)
L_BRACK@[53; 54)
L_BRACK@[53; 54) "["
CALL_EXPR@[54; 77)
PATH_EXPR@[54; 57)
PATH@[54; 57)
@ -50,69 +50,69 @@ SOURCE_FILE@[0; 293)
NAME_REF@[54; 57)
IDENT@[54; 57) "doc"
ARG_LIST@[57; 77)
L_PAREN@[57; 58)
L_PAREN@[57; 58) "("
LITERAL@[58; 76)
STRING@[58; 76)
R_PAREN@[76; 77)
R_BRACK@[77; 78)
STRING@[58; 76) "\"Not allowed here\""
R_PAREN@[76; 77) ")"
R_BRACK@[77; 78) "]"
err: `expected COMMA`
WHITESPACE@[78; 87)
WHITESPACE@[78; 87) "\n "
MATCH_ARM@[87; 94)
PLACEHOLDER_PAT@[87; 88)
UNDERSCORE@[87; 88)
WHITESPACE@[88; 89)
FAT_ARROW@[89; 91)
WHITESPACE@[91; 92)
UNDERSCORE@[87; 88) "_"
WHITESPACE@[88; 89) " "
FAT_ARROW@[89; 91) "=>"
WHITESPACE@[91; 92) " "
TUPLE_EXPR@[92; 94)
L_PAREN@[92; 93)
R_PAREN@[93; 94)
COMMA@[94; 95)
WHITESPACE@[95; 100)
R_CURLY@[100; 101)
WHITESPACE@[101; 107)
L_PAREN@[92; 93) "("
R_PAREN@[93; 94) ")"
COMMA@[94; 95) ","
WHITESPACE@[95; 100) "\n "
R_CURLY@[100; 101) "}"
WHITESPACE@[101; 107) "\n\n "
EXPR_STMT@[107; 185)
MATCH_EXPR@[107; 185)
MATCH_KW@[107; 112)
WHITESPACE@[112; 113)
MATCH_KW@[107; 112) "match"
WHITESPACE@[112; 113) " "
TUPLE_EXPR@[113; 115)
L_PAREN@[113; 114)
R_PAREN@[114; 115)
WHITESPACE@[115; 116)
L_PAREN@[113; 114) "("
R_PAREN@[114; 115) ")"
WHITESPACE@[115; 116) " "
MATCH_ARM_LIST@[116; 185)
L_CURLY@[116; 117)
WHITESPACE@[117; 126)
L_CURLY@[116; 117) "{"
WHITESPACE@[117; 126) "\n "
MATCH_ARM@[126; 133)
PLACEHOLDER_PAT@[126; 127)
UNDERSCORE@[126; 127)
WHITESPACE@[127; 128)
FAT_ARROW@[128; 130)
WHITESPACE@[130; 131)
UNDERSCORE@[126; 127) "_"
WHITESPACE@[127; 128) " "
FAT_ARROW@[128; 130) "=>"
WHITESPACE@[130; 131) " "
TUPLE_EXPR@[131; 133)
L_PAREN@[131; 132)
R_PAREN@[132; 133)
COMMA@[133; 134)
WHITESPACE@[134; 143)
L_PAREN@[131; 132) "("
R_PAREN@[132; 133) ")"
COMMA@[133; 134) ","
WHITESPACE@[134; 143) "\n "
MATCH_ARM@[143; 150)
PLACEHOLDER_PAT@[143; 144)
UNDERSCORE@[143; 144)
WHITESPACE@[144; 145)
FAT_ARROW@[145; 147)
WHITESPACE@[147; 148)
UNDERSCORE@[143; 144) "_"
WHITESPACE@[144; 145) " "
FAT_ARROW@[145; 147) "=>"
WHITESPACE@[147; 148) " "
TUPLE_EXPR@[148; 150)
L_PAREN@[148; 149)
R_PAREN@[149; 150)
COMMA@[150; 151)
WHITESPACE@[151; 160)
L_PAREN@[148; 149) "("
R_PAREN@[149; 150) ")"
COMMA@[150; 151) ","
WHITESPACE@[151; 160) "\n "
MATCH_ARM@[160; 179)
ATTR@[160; 161)
POUND@[160; 161)
POUND@[160; 161) "#"
err: `expected `[``
err: `expected pattern`
ERROR@[161; 162)
EXCL@[161; 162)
EXCL@[161; 162) "!"
err: `expected FAT_ARROW`
ARRAY_EXPR@[162; 179)
L_BRACK@[162; 163)
L_BRACK@[162; 163) "["
CALL_EXPR@[163; 178)
PATH_EXPR@[163; 166)
PATH@[163; 166)
@ -120,45 +120,45 @@ SOURCE_FILE@[0; 293)
NAME_REF@[163; 166)
IDENT@[163; 166) "doc"
ARG_LIST@[166; 178)
L_PAREN@[166; 167)
L_PAREN@[166; 167) "("
LITERAL@[167; 177)
STRING@[167; 177)
R_PAREN@[177; 178)
R_BRACK@[178; 179)
WHITESPACE@[179; 184)
R_CURLY@[184; 185)
WHITESPACE@[185; 191)
STRING@[167; 177) "\"Nor here\""
R_PAREN@[177; 178) ")"
R_BRACK@[178; 179) "]"
WHITESPACE@[179; 184) "\n "
R_CURLY@[184; 185) "}"
WHITESPACE@[185; 191) "\n\n "
MATCH_EXPR@[191; 290)
MATCH_KW@[191; 196)
WHITESPACE@[196; 197)
MATCH_KW@[191; 196) "match"
WHITESPACE@[196; 197) " "
TUPLE_EXPR@[197; 199)
L_PAREN@[197; 198)
R_PAREN@[198; 199)
WHITESPACE@[199; 200)
L_PAREN@[197; 198) "("
R_PAREN@[198; 199) ")"
WHITESPACE@[199; 200) " "
MATCH_ARM_LIST@[200; 290)
L_CURLY@[200; 201)
WHITESPACE@[201; 210)
L_CURLY@[200; 201) "{"
WHITESPACE@[201; 210) "\n "
MATCH_ARM@[210; 250)
ATTR@[210; 222)
POUND@[210; 211)
POUND@[210; 211) "#"
TOKEN_TREE@[211; 222)
L_BRACK@[211; 212)
L_BRACK@[211; 212) "["
IDENT@[212; 215) "cfg"
TOKEN_TREE@[215; 221)
L_PAREN@[215; 216)
L_PAREN@[215; 216) "("
IDENT@[216; 220) "test"
R_PAREN@[220; 221)
R_BRACK@[221; 222)
WHITESPACE@[222; 231)
R_PAREN@[220; 221) ")"
R_BRACK@[221; 222) "]"
WHITESPACE@[222; 231) "\n "
ATTR@[231; 232)
POUND@[231; 232)
POUND@[231; 232) "#"
err: `expected `[``
err: `expected pattern`
ERROR@[232; 233)
EXCL@[232; 233)
EXCL@[232; 233) "!"
err: `expected FAT_ARROW`
ARRAY_EXPR@[233; 250)
L_BRACK@[233; 234)
L_BRACK@[233; 234) "["
CALL_EXPR@[234; 249)
PATH_EXPR@[234; 237)
PATH@[234; 237)
@ -166,36 +166,36 @@ SOURCE_FILE@[0; 293)
NAME_REF@[234; 237)
IDENT@[234; 237) "doc"
ARG_LIST@[237; 249)
L_PAREN@[237; 238)
L_PAREN@[237; 238) "("
LITERAL@[238; 248)
STRING@[238; 248)
R_PAREN@[248; 249)
R_BRACK@[249; 250)
STRING@[238; 248) "\"Nor here\""
R_PAREN@[248; 249) ")"
R_BRACK@[249; 250) "]"
err: `expected COMMA`
WHITESPACE@[250; 259)
WHITESPACE@[250; 259) "\n "
MATCH_ARM@[259; 266)
PLACEHOLDER_PAT@[259; 260)
UNDERSCORE@[259; 260)
WHITESPACE@[260; 261)
FAT_ARROW@[261; 263)
WHITESPACE@[263; 264)
UNDERSCORE@[259; 260) "_"
WHITESPACE@[260; 261) " "
FAT_ARROW@[261; 263) "=>"
WHITESPACE@[263; 264) " "
TUPLE_EXPR@[264; 266)
L_PAREN@[264; 265)
R_PAREN@[265; 266)
COMMA@[266; 267)
WHITESPACE@[267; 276)
L_PAREN@[264; 265) "("
R_PAREN@[265; 266) ")"
COMMA@[266; 267) ","
WHITESPACE@[267; 276) "\n "
MATCH_ARM@[276; 283)
PLACEHOLDER_PAT@[276; 277)
UNDERSCORE@[276; 277)
WHITESPACE@[277; 278)
FAT_ARROW@[278; 280)
WHITESPACE@[280; 281)
UNDERSCORE@[276; 277) "_"
WHITESPACE@[277; 278) " "
FAT_ARROW@[278; 280) "=>"
WHITESPACE@[280; 281) " "
TUPLE_EXPR@[281; 283)
L_PAREN@[281; 282)
R_PAREN@[282; 283)
COMMA@[283; 284)
WHITESPACE@[284; 289)
R_CURLY@[289; 290)
WHITESPACE@[290; 291)
R_CURLY@[291; 292)
WHITESPACE@[292; 293)
L_PAREN@[281; 282) "("
R_PAREN@[282; 283) ")"
COMMA@[283; 284) ","
WHITESPACE@[284; 289) "\n "
R_CURLY@[289; 290) "}"
WHITESPACE@[290; 291) "\n"
R_CURLY@[291; 292) "}"
WHITESPACE@[292; 293) "\n"

View file

@ -1,64 +1,64 @@
SOURCE_FILE@[0; 89)
FN_DEF@[0; 88)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 88)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
MATCH_EXPR@[15; 86)
MATCH_KW@[15; 20)
WHITESPACE@[20; 21)
MATCH_KW@[15; 20) "match"
WHITESPACE@[20; 21) " "
TUPLE_EXPR@[21; 23)
L_PAREN@[21; 22)
R_PAREN@[22; 23)
WHITESPACE@[23; 24)
L_PAREN@[21; 22) "("
R_PAREN@[22; 23) ")"
WHITESPACE@[23; 24) " "
MATCH_ARM_LIST@[24; 86)
L_CURLY@[24; 25)
WHITESPACE@[25; 34)
L_CURLY@[24; 25) "{"
WHITESPACE@[25; 34) "\n "
MATCH_ARM@[34; 41)
PLACEHOLDER_PAT@[34; 35)
UNDERSCORE@[34; 35)
WHITESPACE@[35; 36)
FAT_ARROW@[36; 38)
WHITESPACE@[38; 39)
UNDERSCORE@[34; 35) "_"
WHITESPACE@[35; 36) " "
FAT_ARROW@[36; 38) "=>"
WHITESPACE@[38; 39) " "
TUPLE_EXPR@[39; 41)
L_PAREN@[39; 40)
R_PAREN@[40; 41)
COMMA@[41; 42)
WHITESPACE@[42; 51)
L_PAREN@[39; 40) "("
R_PAREN@[40; 41) ")"
COMMA@[41; 42) ","
WHITESPACE@[42; 51) "\n "
MATCH_ARM@[51; 58)
PLACEHOLDER_PAT@[51; 52)
UNDERSCORE@[51; 52)
WHITESPACE@[52; 53)
FAT_ARROW@[53; 55)
WHITESPACE@[55; 56)
UNDERSCORE@[51; 52) "_"
WHITESPACE@[52; 53) " "
FAT_ARROW@[53; 55) "=>"
WHITESPACE@[55; 56) " "
TUPLE_EXPR@[56; 58)
L_PAREN@[56; 57)
R_PAREN@[57; 58)
COMMA@[58; 59)
WHITESPACE@[59; 68)
L_PAREN@[56; 57) "("
R_PAREN@[57; 58) ")"
COMMA@[58; 59) ","
WHITESPACE@[59; 68) "\n "
MATCH_ARM@[68; 80)
ATTR@[68; 80)
POUND@[68; 69)
POUND@[68; 69) "#"
TOKEN_TREE@[69; 80)
L_BRACK@[69; 70)
L_BRACK@[69; 70) "["
IDENT@[70; 73) "cfg"
TOKEN_TREE@[73; 79)
L_PAREN@[73; 74)
L_PAREN@[73; 74) "("
IDENT@[74; 78) "test"
R_PAREN@[78; 79)
R_BRACK@[79; 80)
R_PAREN@[78; 79) ")"
R_BRACK@[79; 80) "]"
err: `expected pattern`
err: `expected FAT_ARROW`
err: `expected expression`
WHITESPACE@[80; 85)
R_CURLY@[85; 86)
WHITESPACE@[86; 87)
R_CURLY@[87; 88)
WHITESPACE@[88; 89)
WHITESPACE@[80; 85) "\n "
R_CURLY@[85; 86) "}"
WHITESPACE@[86; 87) "\n"
R_CURLY@[87; 88) "}"
WHITESPACE@[88; 89) "\n"

View file

@ -1,27 +1,27 @@
SOURCE_FILE@[0; 18)
TYPE_ALIAS_DEF@[0; 12)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
SLICE_TYPE@[9; 12)
L_BRACK@[9; 10)
L_BRACK@[9; 10) "["
TUPLE_TYPE@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
err: `expected `;` or `]``
err: `expected SEMI`
WHITESPACE@[12; 13)
WHITESPACE@[12; 13) " "
err: `expected an item`
ERROR@[13; 15)
INT_NUMBER@[13; 15) "92"
err: `expected an item`
ERROR@[15; 16)
R_BRACK@[15; 16)
R_BRACK@[15; 16) "]"
err: `expected an item`
ERROR@[16; 17)
SEMI@[16; 17)
WHITESPACE@[17; 18)
SEMI@[16; 17) ";"
WHITESPACE@[17; 18) "\n"

View file

@ -1,28 +1,28 @@
SOURCE_FILE@[0; 30)
FN_DEF@[0; 29)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 29)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
EXPR_STMT@[16; 22)
ERROR@[16; 22)
LABEL@[16; 22)
LIFETIME@[16; 21) "'loop"
COLON@[21; 22)
LIFETIME@[16; 21) "\'loop"
COLON@[21; 22) ":"
err: `expected a loop`
err: `expected SEMI`
WHITESPACE@[22; 23)
WHITESPACE@[22; 23) " "
IMPL_BLOCK@[23; 27)
IMPL_KW@[23; 27)
IMPL_KW@[23; 27) "impl"
err: `expected type`
err: `expected `{``
WHITESPACE@[27; 28)
R_CURLY@[28; 29)
WHITESPACE@[29; 30)
WHITESPACE@[27; 28) "\n"
R_CURLY@[28; 29) "}"
WHITESPACE@[29; 30) "\n"

View file

@ -1,17 +1,17 @@
SOURCE_FILE@[0; 14)
TYPE_ALIAS_DEF@[0; 13)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
POINTER_TYPE@[9; 12)
STAR@[9; 10)
STAR@[9; 10) "*"
err: `expected mut or const in raw pointer type (use `*mut T` or `*const T` as appropriate)`
TUPLE_TYPE@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
SEMI@[12; 13)
WHITESPACE@[13; 14)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
SEMI@[12; 13) ";"
WHITESPACE@[13; 14) "\n"

View file

@ -1,79 +1,79 @@
SOURCE_FILE@[0; 87)
IMPL_BLOCK@[0; 12)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 9)
PATH@[5; 9)
PATH_SEGMENT@[5; 9)
NAME_REF@[5; 9)
IDENT@[5; 9) "Type"
WHITESPACE@[9; 10)
WHITESPACE@[9; 10) " "
ITEM_LIST@[10; 12)
L_CURLY@[10; 11)
R_CURLY@[11; 12)
WHITESPACE@[12; 13)
L_CURLY@[10; 11) "{"
R_CURLY@[11; 12) "}"
WHITESPACE@[12; 13) "\n"
IMPL_BLOCK@[13; 33)
IMPL_KW@[13; 17)
WHITESPACE@[17; 18)
IMPL_KW@[13; 17) "impl"
WHITESPACE@[17; 18) " "
PATH_TYPE@[18; 24)
PATH@[18; 24)
PATH_SEGMENT@[18; 24)
NAME_REF@[18; 24)
IDENT@[18; 24) "Trait1"
WHITESPACE@[24; 25)
FOR_KW@[25; 28)
WHITESPACE@[28; 29)
WHITESPACE@[24; 25) " "
FOR_KW@[25; 28) "for"
WHITESPACE@[28; 29) " "
PATH_TYPE@[29; 30)
PATH@[29; 30)
PATH_SEGMENT@[29; 30)
NAME_REF@[29; 30)
IDENT@[29; 30) "T"
WHITESPACE@[30; 31)
WHITESPACE@[30; 31) " "
ITEM_LIST@[31; 33)
L_CURLY@[31; 32)
R_CURLY@[32; 33)
WHITESPACE@[33; 34)
L_CURLY@[31; 32) "{"
R_CURLY@[32; 33) "}"
WHITESPACE@[33; 34) "\n"
IMPL_BLOCK@[34; 38)
IMPL_KW@[34; 38)
IMPL_KW@[34; 38) "impl"
err: `expected trait or type`
err: `expected `{``
WHITESPACE@[38; 39)
WHITESPACE@[38; 39) " "
IMPL_BLOCK@[39; 54)
IMPL_KW@[39; 43)
WHITESPACE@[43; 44)
IMPL_KW@[39; 43) "impl"
WHITESPACE@[43; 44) " "
PATH_TYPE@[44; 51)
PATH@[44; 51)
PATH_SEGMENT@[44; 51)
NAME_REF@[44; 51)
IDENT@[44; 51) "NotType"
WHITESPACE@[51; 52)
WHITESPACE@[51; 52) " "
ITEM_LIST@[52; 54)
L_CURLY@[52; 53)
R_CURLY@[53; 54)
WHITESPACE@[54; 55)
L_CURLY@[52; 53) "{"
R_CURLY@[53; 54) "}"
WHITESPACE@[54; 55) "\n"
IMPL_BLOCK@[55; 70)
IMPL_KW@[55; 59)
WHITESPACE@[59; 60)
IMPL_KW@[55; 59) "impl"
WHITESPACE@[59; 60) " "
PATH_TYPE@[60; 66)
PATH@[60; 66)
PATH_SEGMENT@[60; 66)
NAME_REF@[60; 66)
IDENT@[60; 66) "Trait2"
WHITESPACE@[66; 67)
FOR_KW@[67; 70)
WHITESPACE@[66; 67) " "
FOR_KW@[67; 70) "for"
err: `expected trait or type`
err: `expected `{``
WHITESPACE@[70; 71)
WHITESPACE@[70; 71) " "
IMPL_BLOCK@[71; 86)
IMPL_KW@[71; 75)
WHITESPACE@[75; 76)
IMPL_KW@[71; 75) "impl"
WHITESPACE@[75; 76) " "
PATH_TYPE@[76; 83)
PATH@[76; 83)
PATH_SEGMENT@[76; 83)
NAME_REF@[76; 83)
IDENT@[76; 83) "NotType"
WHITESPACE@[83; 84)
WHITESPACE@[83; 84) " "
ITEM_LIST@[84; 86)
L_CURLY@[84; 85)
R_CURLY@[85; 86)
WHITESPACE@[86; 87)
L_CURLY@[84; 85) "{"
R_CURLY@[85; 86) "}"
WHITESPACE@[86; 87) "\n"

View file

@ -1,23 +1,23 @@
SOURCE_FILE@[0; 20)
TYPE_ALIAS_DEF@[0; 15)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "F"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
UNSAFE_KW@[9; 15)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
UNSAFE_KW@[9; 15) "unsafe"
err: `expected `fn``
err: `expected SEMI`
WHITESPACE@[15; 16)
WHITESPACE@[15; 16) " "
err: `expected an item`
ERROR@[16; 17)
L_PAREN@[16; 17)
L_PAREN@[16; 17) "("
err: `expected an item`
ERROR@[17; 18)
R_PAREN@[17; 18)
R_PAREN@[17; 18) ")"
err: `expected an item`
ERROR@[18; 19)
SEMI@[18; 19)
WHITESPACE@[19; 20)
SEMI@[18; 19) ";"
WHITESPACE@[19; 20) "\n"

View file

@ -1,35 +1,35 @@
SOURCE_FILE@[0; 33)
FN_DEF@[0; 10)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
BLOCK@[8; 10)
L_CURLY@[8; 9)
R_CURLY@[9; 10)
WHITESPACE@[10; 11)
L_CURLY@[8; 9) "{"
R_CURLY@[9; 10) "}"
WHITESPACE@[10; 11) " "
err: `expected an item`
ERROR@[11; 17)
UNSAFE_KW@[11; 17)
WHITESPACE@[17; 18)
UNSAFE_KW@[11; 17) "unsafe"
WHITESPACE@[17; 18) " "
err: `expected an item`
ERROR@[18; 21)
L_CURLY@[18; 19)
WHITESPACE@[19; 20)
R_CURLY@[20; 21)
WHITESPACE@[21; 22)
L_CURLY@[18; 19) "{"
WHITESPACE@[19; 20) " "
R_CURLY@[20; 21) "}"
WHITESPACE@[21; 22) " "
FN_DEF@[22; 32)
FN_KW@[22; 24)
WHITESPACE@[24; 25)
FN_KW@[22; 24) "fn"
WHITESPACE@[24; 25) " "
NAME@[25; 28)
IDENT@[25; 28) "bar"
PARAM_LIST@[28; 30)
L_PAREN@[28; 29)
R_PAREN@[29; 30)
L_PAREN@[28; 29) "("
R_PAREN@[29; 30) ")"
BLOCK@[30; 32)
L_CURLY@[30; 31)
R_CURLY@[31; 32)
WHITESPACE@[32; 33)
L_CURLY@[30; 31) "{"
R_CURLY@[31; 32) "}"
WHITESPACE@[32; 33) "\n"

View file

@ -1,31 +1,31 @@
SOURCE_FILE@[0; 30)
FN_DEF@[0; 29)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 29)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) " "
LET_STMT@[11; 27)
LET_KW@[11; 14)
WHITESPACE@[14; 15)
LET_KW@[11; 14) "let"
WHITESPACE@[14; 15) " "
PLACEHOLDER_PAT@[15; 16)
UNDERSCORE@[15; 16)
WHITESPACE@[16; 17)
EQ@[17; 18)
WHITESPACE@[18; 19)
UNDERSCORE@[15; 16) "_"
WHITESPACE@[16; 17) " "
EQ@[17; 18) "="
WHITESPACE@[18; 19) " "
BLOCK_EXPR@[19; 27)
ASYNC_KW@[19; 24)
WHITESPACE@[24; 25)
ASYNC_KW@[19; 24) "async"
WHITESPACE@[24; 25) " "
BLOCK@[25; 27)
L_CURLY@[25; 26)
R_CURLY@[26; 27)
L_CURLY@[25; 26) "{"
R_CURLY@[26; 27) "}"
err: `expected SEMI`
WHITESPACE@[27; 28)
R_CURLY@[28; 29)
WHITESPACE@[29; 30)
WHITESPACE@[27; 28) " "
R_CURLY@[28; 29) "}"
WHITESPACE@[29; 30) "\n"

View file

@ -1,25 +1,25 @@
SOURCE_FILE@[0; 21)
FN_DEF@[0; 20)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 20)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) " "
ERROR@[11; 14)
VISIBILITY@[11; 14)
PUB_KW@[11; 14)
PUB_KW@[11; 14) "pub"
err: `expected an item`
WHITESPACE@[14; 15)
WHITESPACE@[14; 15) " "
EXPR_STMT@[15; 18)
LITERAL@[15; 17)
INT_NUMBER@[15; 17) "92"
SEMI@[17; 18)
WHITESPACE@[18; 19)
R_CURLY@[19; 20)
WHITESPACE@[20; 21)
SEMI@[17; 18) ";"
WHITESPACE@[18; 19) " "
R_CURLY@[19; 20) "}"
WHITESPACE@[20; 21) "\n"

View file

@ -1,55 +1,55 @@
SOURCE_FILE@[0; 48)
FN_DEF@[0; 47)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 47)
L_CURLY@[9; 10)
WHITESPACE@[10; 14)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 14) "\n "
EXPR_STMT@[14; 25)
ATTR@[14; 18)
POUND@[14; 15)
POUND@[14; 15) "#"
TOKEN_TREE@[15; 18)
L_BRACK@[15; 16)
L_BRACK@[15; 16) "["
IDENT@[16; 17) "A"
R_BRACK@[17; 18)
WHITESPACE@[18; 19)
R_BRACK@[17; 18) "]"
WHITESPACE@[18; 19) " "
BIN_EXPR@[19; 24)
LITERAL@[19; 20)
INT_NUMBER@[19; 20) "1"
WHITESPACE@[20; 21)
PLUS@[21; 22)
WHITESPACE@[22; 23)
WHITESPACE@[20; 21) " "
PLUS@[21; 22) "+"
WHITESPACE@[22; 23) " "
LITERAL@[23; 24)
INT_NUMBER@[23; 24) "2"
err: `attributes are not allowed on BIN_EXPR`
SEMI@[24; 25)
WHITESPACE@[25; 29)
SEMI@[24; 25) ";"
WHITESPACE@[25; 29) "\n "
EXPR_STMT@[29; 45)
ATTR@[29; 33)
POUND@[29; 30)
POUND@[29; 30) "#"
TOKEN_TREE@[30; 33)
L_BRACK@[30; 31)
L_BRACK@[30; 31) "["
IDENT@[31; 32) "B"
R_BRACK@[32; 33)
WHITESPACE@[33; 34)
R_BRACK@[32; 33) "]"
WHITESPACE@[33; 34) " "
IF_EXPR@[34; 44)
IF_KW@[34; 36)
WHITESPACE@[36; 37)
IF_KW@[34; 36) "if"
WHITESPACE@[36; 37) " "
CONDITION@[37; 41)
LITERAL@[37; 41)
TRUE_KW@[37; 41)
WHITESPACE@[41; 42)
TRUE_KW@[37; 41) "true"
WHITESPACE@[41; 42) " "
BLOCK@[42; 44)
L_CURLY@[42; 43)
R_CURLY@[43; 44)
L_CURLY@[42; 43) "{"
R_CURLY@[43; 44) "}"
err: `attributes are not allowed on IF_EXPR`
SEMI@[44; 45)
WHITESPACE@[45; 46)
R_CURLY@[46; 47)
WHITESPACE@[47; 48)
SEMI@[44; 45) ";"
WHITESPACE@[45; 46) "\n"
R_CURLY@[46; 47) "}"
WHITESPACE@[47; 48) "\n"

View file

@ -1,23 +1,23 @@
SOURCE_FILE@[0; 83)
IMPL_BLOCK@[0; 82)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 6)
PATH@[5; 6)
PATH_SEGMENT@[5; 6)
NAME_REF@[5; 6)
IDENT@[5; 6) "F"
WHITESPACE@[6; 7)
WHITESPACE@[6; 7) " "
ITEM_LIST@[7; 82)
L_CURLY@[7; 8)
WHITESPACE@[8; 13)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 13) "\n "
TYPE_ALIAS_DEF@[13; 27)
TYPE_KW@[13; 17)
WHITESPACE@[17; 18)
TYPE_KW@[13; 17) "type"
WHITESPACE@[17; 18) " "
NAME@[18; 19)
IDENT@[18; 19) "A"
COLON@[19; 20)
WHITESPACE@[20; 21)
COLON@[19; 20) ":"
WHITESPACE@[20; 21) " "
TYPE_BOUND_LIST@[21; 26)
TYPE_BOUND@[21; 26)
PATH_TYPE@[21; 26)
@ -25,47 +25,47 @@ SOURCE_FILE@[0; 83)
PATH_SEGMENT@[21; 26)
NAME_REF@[21; 26)
IDENT@[21; 26) "Clone"
SEMI@[26; 27)
WHITESPACE@[27; 32)
SEMI@[26; 27) ";"
WHITESPACE@[27; 32) "\n "
CONST_DEF@[32; 45)
CONST_KW@[32; 37)
WHITESPACE@[37; 38)
CONST_KW@[32; 37) "const"
WHITESPACE@[37; 38) " "
NAME@[38; 39)
IDENT@[38; 39) "B"
COLON@[39; 40)
WHITESPACE@[40; 41)
COLON@[39; 40) ":"
WHITESPACE@[40; 41) " "
PATH_TYPE@[41; 44)
PATH@[41; 44)
PATH_SEGMENT@[41; 44)
NAME_REF@[41; 44)
IDENT@[41; 44) "i32"
SEMI@[44; 45)
WHITESPACE@[45; 50)
SEMI@[44; 45) ";"
WHITESPACE@[45; 50) "\n "
FN_DEF@[50; 61)
FN_KW@[50; 52)
WHITESPACE@[52; 53)
FN_KW@[50; 52) "fn"
WHITESPACE@[52; 53) " "
NAME@[53; 56)
IDENT@[53; 56) "foo"
PARAM_LIST@[56; 58)
L_PAREN@[56; 57)
R_PAREN@[57; 58)
WHITESPACE@[58; 59)
L_PAREN@[56; 57) "("
R_PAREN@[57; 58) ")"
WHITESPACE@[58; 59) " "
BLOCK@[59; 61)
L_CURLY@[59; 60)
R_CURLY@[60; 61)
WHITESPACE@[61; 66)
L_CURLY@[59; 60) "{"
R_CURLY@[60; 61) "}"
WHITESPACE@[61; 66) "\n "
FN_DEF@[66; 80)
FN_KW@[66; 68)
WHITESPACE@[68; 69)
FN_KW@[66; 68) "fn"
WHITESPACE@[68; 69) " "
NAME@[69; 72)
IDENT@[69; 72) "bar"
PARAM_LIST@[72; 79)
L_PAREN@[72; 73)
L_PAREN@[72; 73) "("
SELF_PARAM@[73; 78)
AMP@[73; 74)
SELF_KW@[74; 78)
R_PAREN@[78; 79)
SEMI@[79; 80)
WHITESPACE@[80; 81)
R_CURLY@[81; 82)
WHITESPACE@[82; 83)
AMP@[73; 74) "&"
SELF_KW@[74; 78) "self"
R_PAREN@[78; 79) ")"
SEMI@[79; 80) ";"
WHITESPACE@[80; 81) "\n"
R_CURLY@[81; 82) "}"
WHITESPACE@[82; 83) "\n"

View file

@ -1,31 +1,31 @@
SOURCE_FILE@[0; 250)
USE_ITEM@[0; 58)
USE_KW@[0; 3)
WHITESPACE@[3; 4)
USE_KW@[0; 3) "use"
WHITESPACE@[3; 4) " "
USE_TREE@[4; 57)
USE_TREE_LIST@[4; 57)
L_CURLY@[4; 5)
L_CURLY@[4; 5) "{"
USE_TREE@[5; 28)
PATH@[5; 28)
PATH@[5; 22)
PATH@[5; 16)
PATH@[5; 10)
PATH_SEGMENT@[5; 10)
CRATE_KW@[5; 10)
COLONCOLON@[10; 12)
CRATE_KW@[5; 10) "crate"
COLONCOLON@[10; 12) "::"
PATH_SEGMENT@[12; 16)
NAME_REF@[12; 16)
IDENT@[12; 16) "path"
COLONCOLON@[16; 18)
COLONCOLON@[16; 18) "::"
PATH_SEGMENT@[18; 22)
NAME_REF@[18; 22)
IDENT@[18; 22) "from"
COLONCOLON@[22; 24)
COLONCOLON@[22; 24) "::"
PATH_SEGMENT@[24; 28)
NAME_REF@[24; 28)
IDENT@[24; 28) "root"
COMMA@[28; 29)
WHITESPACE@[29; 30)
COMMA@[28; 29) ","
WHITESPACE@[29; 30) " "
USE_TREE@[30; 56)
PATH@[30; 56)
PATH@[30; 44)
@ -34,29 +34,29 @@ SOURCE_FILE@[0; 250)
PATH_SEGMENT@[30; 32)
NAME_REF@[30; 32)
IDENT@[30; 32) "or"
COLONCOLON@[32; 34)
COLONCOLON@[32; 34) "::"
PATH_SEGMENT@[34; 38)
NAME_REF@[34; 38)
IDENT@[34; 38) "path"
COLONCOLON@[38; 40)
COLONCOLON@[38; 40) "::"
PATH_SEGMENT@[40; 44)
NAME_REF@[40; 44)
IDENT@[40; 44) "from"
COLONCOLON@[44; 46)
COLONCOLON@[44; 46) "::"
PATH_SEGMENT@[46; 56)
NAME_REF@[46; 56)
IDENT@[46; 56) "crate_name"
R_CURLY@[56; 57)
SEMI@[57; 58)
WHITESPACE@[58; 59)
COMMENT@[59; 97)
WHITESPACE@[97; 98)
R_CURLY@[56; 57) "}"
SEMI@[57; 58) ";"
WHITESPACE@[58; 59) " "
COMMENT@[59; 97) "// Rust 2018 (with a ..."
WHITESPACE@[97; 98) "\n"
USE_ITEM@[98; 121)
USE_KW@[98; 101)
WHITESPACE@[101; 102)
USE_KW@[98; 101) "use"
WHITESPACE@[101; 102) " "
USE_TREE@[102; 120)
USE_TREE_LIST@[102; 120)
L_CURLY@[102; 103)
L_CURLY@[102; 103) "{"
USE_TREE@[103; 119)
PATH@[103; 119)
PATH@[103; 113)
@ -64,26 +64,26 @@ SOURCE_FILE@[0; 250)
PATH_SEGMENT@[103; 107)
NAME_REF@[103; 107)
IDENT@[103; 107) "path"
COLONCOLON@[107; 109)
COLONCOLON@[107; 109) "::"
PATH_SEGMENT@[109; 113)
NAME_REF@[109; 113)
IDENT@[109; 113) "from"
COLONCOLON@[113; 115)
COLONCOLON@[113; 115) "::"
PATH_SEGMENT@[115; 119)
NAME_REF@[115; 119)
IDENT@[115; 119) "root"
R_CURLY@[119; 120)
SEMI@[120; 121)
WHITESPACE@[121; 122)
COMMENT@[122; 134)
WHITESPACE@[134; 135)
R_CURLY@[119; 120) "}"
SEMI@[120; 121) ";"
WHITESPACE@[121; 122) " "
COMMENT@[122; 134) "// Rust 2015"
WHITESPACE@[134; 135) "\n"
USE_ITEM@[135; 166)
USE_KW@[135; 138)
WHITESPACE@[138; 139)
USE_KW@[135; 138) "use"
WHITESPACE@[138; 139) " "
USE_TREE@[139; 165)
COLONCOLON@[139; 141)
COLONCOLON@[139; 141) "::"
USE_TREE_LIST@[141; 165)
L_CURLY@[141; 142)
L_CURLY@[141; 142) "{"
USE_TREE@[142; 164)
PATH@[142; 164)
PATH@[142; 158)
@ -91,45 +91,45 @@ SOURCE_FILE@[0; 250)
PATH_SEGMENT@[142; 146)
NAME_REF@[142; 146)
IDENT@[142; 146) "some"
COLONCOLON@[146; 148)
COLONCOLON@[146; 148) "::"
PATH_SEGMENT@[148; 158)
NAME_REF@[148; 158)
IDENT@[148; 158) "arbritrary"
COLONCOLON@[158; 160)
COLONCOLON@[158; 160) "::"
PATH_SEGMENT@[160; 164)
NAME_REF@[160; 164)
IDENT@[160; 164) "path"
R_CURLY@[164; 165)
SEMI@[165; 166)
WHITESPACE@[166; 167)
COMMENT@[167; 179)
WHITESPACE@[179; 180)
R_CURLY@[164; 165) "}"
SEMI@[165; 166) ";"
WHITESPACE@[166; 167) " "
COMMENT@[167; 179) "// Rust 2015"
WHITESPACE@[179; 180) "\n"
USE_ITEM@[180; 206)
USE_KW@[180; 183)
WHITESPACE@[183; 184)
USE_KW@[180; 183) "use"
WHITESPACE@[183; 184) " "
USE_TREE@[184; 205)
COLONCOLON@[184; 186)
COLONCOLON@[184; 186) "::"
USE_TREE_LIST@[186; 205)
L_CURLY@[186; 187)
L_CURLY@[186; 187) "{"
USE_TREE@[187; 204)
USE_TREE_LIST@[187; 204)
L_CURLY@[187; 188)
L_CURLY@[187; 188) "{"
USE_TREE@[188; 203)
USE_TREE_LIST@[188; 203)
L_CURLY@[188; 189)
L_CURLY@[188; 189) "{"
USE_TREE@[189; 202)
PATH@[189; 202)
PATH@[189; 194)
PATH_SEGMENT@[189; 194)
CRATE_KW@[189; 194)
COLONCOLON@[194; 196)
CRATE_KW@[189; 194) "crate"
COLONCOLON@[194; 196) "::"
PATH_SEGMENT@[196; 202)
NAME_REF@[196; 202)
IDENT@[196; 202) "export"
R_CURLY@[202; 203)
R_CURLY@[203; 204)
R_CURLY@[204; 205)
SEMI@[205; 206)
WHITESPACE@[206; 207)
COMMENT@[207; 249)
WHITESPACE@[249; 250)
R_CURLY@[202; 203) "}"
R_CURLY@[203; 204) "}"
R_CURLY@[204; 205) "}"
SEMI@[205; 206) ";"
WHITESPACE@[206; 207) " "
COMMENT@[207; 249) "// Nonsensical but pe ..."
WHITESPACE@[249; 250) "\n"

View file

@ -1,38 +1,38 @@
SOURCE_FILE@[0; 49)
FN_DEF@[0; 48)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "test"
TYPE_PARAM_LIST@[7; 10)
L_ANGLE@[7; 8)
L_ANGLE@[7; 8) "<"
TYPE_PARAM@[8; 9)
NAME@[8; 9)
IDENT@[8; 9) "F"
R_ANGLE@[9; 10)
R_ANGLE@[9; 10) ">"
PARAM_LIST@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
WHITESPACE@[12; 13)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
WHITESPACE@[12; 13) "\n"
WHERE_CLAUSE@[13; 44)
WHERE_KW@[13; 18)
WHITESPACE@[18; 22)
WHERE_KW@[13; 18) "where"
WHITESPACE@[18; 22) "\n "
WHERE_PRED@[22; 44)
FOR_TYPE@[22; 31)
FOR_KW@[22; 25)
FOR_KW@[22; 25) "for"
TYPE_PARAM_LIST@[25; 29)
L_ANGLE@[25; 26)
L_ANGLE@[25; 26) "<"
LIFETIME_PARAM@[26; 28)
LIFETIME@[26; 28) "'a"
R_ANGLE@[28; 29)
WHITESPACE@[29; 30)
LIFETIME@[26; 28) "\'a"
R_ANGLE@[28; 29) ">"
WHITESPACE@[29; 30) " "
PATH_TYPE@[30; 31)
PATH@[30; 31)
PATH_SEGMENT@[30; 31)
NAME_REF@[30; 31)
IDENT@[30; 31) "F"
COLON@[31; 32)
WHITESPACE@[32; 33)
COLON@[31; 32) ":"
WHITESPACE@[32; 33) " "
TYPE_BOUND_LIST@[33; 44)
TYPE_BOUND@[33; 44)
PATH_TYPE@[33; 44)
@ -41,21 +41,21 @@ SOURCE_FILE@[0; 49)
NAME_REF@[33; 35)
IDENT@[33; 35) "Fn"
PARAM_LIST@[35; 44)
L_PAREN@[35; 36)
L_PAREN@[35; 36) "("
PARAM@[36; 43)
REFERENCE_TYPE@[36; 43)
AMP@[36; 37)
LIFETIME@[37; 39) "'a"
WHITESPACE@[39; 40)
AMP@[36; 37) "&"
LIFETIME@[37; 39) "\'a"
WHITESPACE@[39; 40) " "
PATH_TYPE@[40; 43)
PATH@[40; 43)
PATH_SEGMENT@[40; 43)
NAME_REF@[40; 43)
IDENT@[40; 43) "str"
R_PAREN@[43; 44)
WHITESPACE@[44; 45)
R_PAREN@[43; 44) ")"
WHITESPACE@[44; 45) "\n"
BLOCK@[45; 48)
L_CURLY@[45; 46)
WHITESPACE@[46; 47)
R_CURLY@[47; 48)
WHITESPACE@[48; 49)
L_CURLY@[45; 46) "{"
WHITESPACE@[46; 47) " "
R_CURLY@[47; 48) "}"
WHITESPACE@[48; 49) "\n"

View file

@ -1,19 +1,19 @@
SOURCE_FILE@[0; 54)
TYPE_ALIAS_DEF@[0; 53)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "F"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
PATH_TYPE@[9; 52)
PATH@[9; 52)
PATH_SEGMENT@[9; 52)
NAME_REF@[9; 12)
IDENT@[9; 12) "Box"
TYPE_ARG_LIST@[12; 52)
L_ANGLE@[12; 13)
L_ANGLE@[12; 13) "<"
TYPE_ARG@[13; 51)
PATH_TYPE@[13; 51)
PATH@[13; 51)
@ -21,61 +21,61 @@ SOURCE_FILE@[0; 54)
NAME_REF@[13; 15)
IDENT@[13; 15) "Fn"
PARAM_LIST@[15; 51)
L_PAREN@[15; 16)
L_PAREN@[15; 16) "("
PARAM@[16; 22)
BIND_PAT@[16; 17)
NAME@[16; 17)
IDENT@[16; 17) "a"
COLON@[17; 18)
WHITESPACE@[18; 19)
COLON@[17; 18) ":"
WHITESPACE@[18; 19) " "
PATH_TYPE@[19; 22)
PATH@[19; 22)
PATH_SEGMENT@[19; 22)
NAME_REF@[19; 22)
IDENT@[19; 22) "i32"
COMMA@[22; 23)
WHITESPACE@[23; 24)
COMMA@[22; 23) ","
WHITESPACE@[23; 24) " "
PARAM@[24; 32)
REF_PAT@[24; 26)
AMP@[24; 25)
AMP@[24; 25) "&"
BIND_PAT@[25; 26)
NAME@[25; 26)
IDENT@[25; 26) "b"
COLON@[26; 27)
WHITESPACE@[27; 28)
COLON@[26; 27) ":"
WHITESPACE@[27; 28) " "
REFERENCE_TYPE@[28; 32)
AMP@[28; 29)
AMP@[28; 29) "&"
PATH_TYPE@[29; 32)
PATH@[29; 32)
PATH_SEGMENT@[29; 32)
NAME_REF@[29; 32)
IDENT@[29; 32) "i32"
COMMA@[32; 33)
WHITESPACE@[33; 34)
COMMA@[32; 33) ","
WHITESPACE@[33; 34) " "
PARAM@[34; 46)
REF_PAT@[34; 40)
AMP@[34; 35)
MUT_KW@[35; 38)
WHITESPACE@[38; 39)
AMP@[34; 35) "&"
MUT_KW@[35; 38) "mut"
WHITESPACE@[38; 39) " "
BIND_PAT@[39; 40)
NAME@[39; 40)
IDENT@[39; 40) "c"
COLON@[40; 41)
WHITESPACE@[41; 42)
COLON@[40; 41) ":"
WHITESPACE@[41; 42) " "
REFERENCE_TYPE@[42; 46)
AMP@[42; 43)
AMP@[42; 43) "&"
PATH_TYPE@[43; 46)
PATH@[43; 46)
PATH_SEGMENT@[43; 46)
NAME_REF@[43; 46)
IDENT@[43; 46) "i32"
COMMA@[46; 47)
WHITESPACE@[47; 48)
COMMA@[46; 47) ","
WHITESPACE@[47; 48) " "
PARAM@[48; 50)
TUPLE_TYPE@[48; 50)
L_PAREN@[48; 49)
R_PAREN@[49; 50)
R_PAREN@[50; 51)
R_ANGLE@[51; 52)
SEMI@[52; 53)
WHITESPACE@[53; 54)
L_PAREN@[48; 49) "("
R_PAREN@[49; 50) ")"
R_PAREN@[50; 51) ")"
R_ANGLE@[51; 52) ">"
SEMI@[52; 53) ";"
WHITESPACE@[53; 54) "\n"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 28)
FN_DEF@[0; 27)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
TYPE_PARAM_LIST@[6; 23)
L_ANGLE@[6; 7)
L_ANGLE@[6; 7) "<"
TYPE_PARAM@[7; 22)
NAME@[7; 8)
IDENT@[7; 8) "T"
COLON@[8; 9)
WHITESPACE@[9; 10)
COLON@[8; 9) ":"
WHITESPACE@[9; 10) " "
TYPE_BOUND_LIST@[10; 22)
TYPE_BOUND@[10; 15)
PATH_TYPE@[10; 15)
@ -18,20 +18,20 @@ SOURCE_FILE@[0; 28)
PATH_SEGMENT@[10; 15)
NAME_REF@[10; 15)
IDENT@[10; 15) "Clone"
WHITESPACE@[15; 16)
PLUS@[16; 17)
WHITESPACE@[17; 18)
WHITESPACE@[15; 16) " "
PLUS@[16; 17) "+"
WHITESPACE@[17; 18) " "
TYPE_BOUND@[18; 22)
PATH_TYPE@[18; 22)
PATH@[18; 22)
PATH_SEGMENT@[18; 22)
NAME_REF@[18; 22)
IDENT@[18; 22) "Copy"
R_ANGLE@[22; 23)
R_ANGLE@[22; 23) ">"
PARAM_LIST@[23; 25)
L_PAREN@[23; 24)
R_PAREN@[24; 25)
L_PAREN@[23; 24) "("
R_PAREN@[24; 25) ")"
BLOCK@[25; 27)
L_CURLY@[25; 26)
R_CURLY@[26; 27)
WHITESPACE@[27; 28)
L_CURLY@[25; 26) "{"
R_CURLY@[26; 27) "}"
WHITESPACE@[27; 28) "\n"

View file

@ -1,116 +1,116 @@
SOURCE_FILE@[0; 128)
IMPL_BLOCK@[0; 127)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 6)
PATH@[5; 6)
PATH_SEGMENT@[5; 6)
NAME_REF@[5; 6)
IDENT@[5; 6) "S"
WHITESPACE@[6; 7)
WHITESPACE@[6; 7) " "
ITEM_LIST@[7; 127)
L_CURLY@[7; 8)
WHITESPACE@[8; 13)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 13) "\n "
FN_DEF@[13; 26)
FN_KW@[13; 15)
WHITESPACE@[15; 16)
FN_KW@[13; 15) "fn"
WHITESPACE@[15; 16) " "
NAME@[16; 17)
IDENT@[16; 17) "a"
PARAM_LIST@[17; 23)
L_PAREN@[17; 18)
L_PAREN@[17; 18) "("
SELF_PARAM@[18; 22)
SELF_KW@[18; 22)
R_PAREN@[22; 23)
WHITESPACE@[23; 24)
SELF_KW@[18; 22) "self"
R_PAREN@[22; 23) ")"
WHITESPACE@[23; 24) " "
BLOCK@[24; 26)
L_CURLY@[24; 25)
R_CURLY@[25; 26)
WHITESPACE@[26; 31)
L_CURLY@[24; 25) "{"
R_CURLY@[25; 26) "}"
WHITESPACE@[26; 31) "\n "
FN_DEF@[31; 46)
FN_KW@[31; 33)
WHITESPACE@[33; 34)
FN_KW@[31; 33) "fn"
WHITESPACE@[33; 34) " "
NAME@[34; 35)
IDENT@[34; 35) "b"
PARAM_LIST@[35; 43)
L_PAREN@[35; 36)
L_PAREN@[35; 36) "("
SELF_PARAM@[36; 41)
AMP@[36; 37)
SELF_KW@[37; 41)
COMMA@[41; 42)
R_PAREN@[42; 43)
WHITESPACE@[43; 44)
AMP@[36; 37) "&"
SELF_KW@[37; 41) "self"
COMMA@[41; 42) ","
R_PAREN@[42; 43) ")"
WHITESPACE@[43; 44) " "
BLOCK@[44; 46)
L_CURLY@[44; 45)
R_CURLY@[45; 46)
WHITESPACE@[46; 51)
L_CURLY@[44; 45) "{"
R_CURLY@[45; 46) "}"
WHITESPACE@[46; 51) "\n "
FN_DEF@[51; 69)
FN_KW@[51; 53)
WHITESPACE@[53; 54)
FN_KW@[51; 53) "fn"
WHITESPACE@[53; 54) " "
NAME@[54; 55)
IDENT@[54; 55) "c"
PARAM_LIST@[55; 66)
L_PAREN@[55; 56)
L_PAREN@[55; 56) "("
SELF_PARAM@[56; 64)
AMP@[56; 57)
LIFETIME@[57; 59) "'a"
WHITESPACE@[59; 60)
SELF_KW@[60; 64)
COMMA@[64; 65)
R_PAREN@[65; 66)
WHITESPACE@[66; 67)
AMP@[56; 57) "&"
LIFETIME@[57; 59) "\'a"
WHITESPACE@[59; 60) " "
SELF_KW@[60; 64) "self"
COMMA@[64; 65) ","
R_PAREN@[65; 66) ")"
WHITESPACE@[66; 67) " "
BLOCK@[67; 69)
L_CURLY@[67; 68)
R_CURLY@[68; 69)
WHITESPACE@[69; 74)
L_CURLY@[67; 68) "{"
R_CURLY@[68; 69) "}"
WHITESPACE@[69; 74) "\n "
FN_DEF@[74; 103)
FN_KW@[74; 76)
WHITESPACE@[76; 77)
FN_KW@[74; 76) "fn"
WHITESPACE@[76; 77) " "
NAME@[77; 78)
IDENT@[77; 78) "d"
PARAM_LIST@[78; 100)
L_PAREN@[78; 79)
L_PAREN@[78; 79) "("
SELF_PARAM@[79; 91)
AMP@[79; 80)
LIFETIME@[80; 82) "'a"
WHITESPACE@[82; 83)
MUT_KW@[83; 86)
WHITESPACE@[86; 87)
SELF_KW@[87; 91)
COMMA@[91; 92)
WHITESPACE@[92; 93)
AMP@[79; 80) "&"
LIFETIME@[80; 82) "\'a"
WHITESPACE@[82; 83) " "
MUT_KW@[83; 86) "mut"
WHITESPACE@[86; 87) " "
SELF_KW@[87; 91) "self"
COMMA@[91; 92) ","
WHITESPACE@[92; 93) " "
PARAM@[93; 99)
BIND_PAT@[93; 94)
NAME@[93; 94)
IDENT@[93; 94) "x"
COLON@[94; 95)
WHITESPACE@[95; 96)
COLON@[94; 95) ":"
WHITESPACE@[95; 96) " "
PATH_TYPE@[96; 99)
PATH@[96; 99)
PATH_SEGMENT@[96; 99)
NAME_REF@[96; 99)
IDENT@[96; 99) "i32"
R_PAREN@[99; 100)
WHITESPACE@[100; 101)
R_PAREN@[99; 100) ")"
WHITESPACE@[100; 101) " "
BLOCK@[101; 103)
L_CURLY@[101; 102)
R_CURLY@[102; 103)
WHITESPACE@[103; 108)
L_CURLY@[101; 102) "{"
R_CURLY@[102; 103) "}"
WHITESPACE@[103; 108) "\n "
FN_DEF@[108; 125)
FN_KW@[108; 110)
WHITESPACE@[110; 111)
FN_KW@[108; 110) "fn"
WHITESPACE@[110; 111) " "
NAME@[111; 112)
IDENT@[111; 112) "e"
PARAM_LIST@[112; 122)
L_PAREN@[112; 113)
L_PAREN@[112; 113) "("
SELF_PARAM@[113; 121)
MUT_KW@[113; 116)
WHITESPACE@[116; 117)
SELF_KW@[117; 121)
R_PAREN@[121; 122)
WHITESPACE@[122; 123)
MUT_KW@[113; 116) "mut"
WHITESPACE@[116; 117) " "
SELF_KW@[117; 121) "self"
R_PAREN@[121; 122) ")"
WHITESPACE@[122; 123) " "
BLOCK@[123; 125)
L_CURLY@[123; 124)
R_CURLY@[124; 125)
WHITESPACE@[125; 126)
R_CURLY@[126; 127)
WHITESPACE@[127; 128)
L_CURLY@[123; 124) "{"
R_CURLY@[124; 125) "}"
WHITESPACE@[125; 126) "\n"
R_CURLY@[126; 127) "}"
WHITESPACE@[127; 128) "\n"

View file

@ -1,40 +1,40 @@
SOURCE_FILE@[0; 35)
STRUCT_DEF@[0; 34)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
TYPE_PARAM_LIST@[8; 33)
L_ANGLE@[8; 9)
L_ANGLE@[8; 9) "<"
TYPE_PARAM@[9; 32)
NAME@[9; 10)
IDENT@[9; 10) "T"
COLON@[10; 11)
WHITESPACE@[11; 12)
COLON@[10; 11) ":"
WHITESPACE@[11; 12) " "
TYPE_BOUND_LIST@[12; 32)
TYPE_BOUND@[12; 14)
LIFETIME@[12; 14) "'a"
WHITESPACE@[14; 15)
PLUS@[15; 16)
WHITESPACE@[16; 17)
LIFETIME@[12; 14) "\'a"
WHITESPACE@[14; 15) " "
PLUS@[15; 16) "+"
WHITESPACE@[16; 17) " "
TYPE_BOUND@[17; 23)
QUESTION@[17; 18)
QUESTION@[17; 18) "?"
PATH_TYPE@[18; 23)
PATH@[18; 23)
PATH_SEGMENT@[18; 23)
NAME_REF@[18; 23)
IDENT@[18; 23) "Sized"
WHITESPACE@[23; 24)
PLUS@[24; 25)
WHITESPACE@[25; 26)
WHITESPACE@[23; 24) " "
PLUS@[24; 25) "+"
WHITESPACE@[25; 26) " "
TYPE_BOUND@[26; 32)
L_PAREN@[26; 27)
L_PAREN@[26; 27) "("
PATH_TYPE@[27; 31)
PATH@[27; 31)
PATH_SEGMENT@[27; 31)
NAME_REF@[27; 31)
IDENT@[27; 31) "Copy"
R_PAREN@[31; 32)
R_ANGLE@[32; 33)
SEMI@[33; 34)
WHITESPACE@[34; 35)
R_PAREN@[31; 32) ")"
R_ANGLE@[32; 33) ">"
SEMI@[33; 34) ";"
WHITESPACE@[34; 35) "\n"

View file

@ -1,95 +1,95 @@
SOURCE_FILE@[0; 103)
FN_DEF@[0; 102)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 102)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 33)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
PATH_PAT@[19; 27)
PATH@[19; 27)
PATH@[19; 22)
PATH_SEGMENT@[19; 22)
NAME_REF@[19; 22)
IDENT@[19; 22) "foo"
COLONCOLON@[22; 24)
COLONCOLON@[22; 24) "::"
PATH_SEGMENT@[24; 27)
NAME_REF@[24; 27)
IDENT@[24; 27) "Bar"
WHITESPACE@[27; 28)
EQ@[28; 29)
WHITESPACE@[29; 30)
WHITESPACE@[27; 28) " "
EQ@[28; 29) "="
WHITESPACE@[29; 30) " "
TUPLE_EXPR@[30; 32)
L_PAREN@[30; 31)
R_PAREN@[31; 32)
SEMI@[32; 33)
WHITESPACE@[33; 38)
L_PAREN@[30; 31) "("
R_PAREN@[31; 32) ")"
SEMI@[32; 33) ";"
WHITESPACE@[33; 38) "\n "
LET_STMT@[38; 53)
LET_KW@[38; 41)
WHITESPACE@[41; 42)
LET_KW@[38; 41) "let"
WHITESPACE@[41; 42) " "
PATH_PAT@[42; 47)
PATH@[42; 47)
PATH_SEGMENT@[42; 47)
COLONCOLON@[42; 44)
COLONCOLON@[42; 44) "::"
NAME_REF@[44; 47)
IDENT@[44; 47) "Bar"
WHITESPACE@[47; 48)
EQ@[48; 49)
WHITESPACE@[49; 50)
WHITESPACE@[47; 48) " "
EQ@[48; 49) "="
WHITESPACE@[49; 50) " "
TUPLE_EXPR@[50; 52)
L_PAREN@[50; 51)
R_PAREN@[51; 52)
SEMI@[52; 53)
WHITESPACE@[53; 58)
L_PAREN@[50; 51) "("
R_PAREN@[51; 52) ")"
SEMI@[52; 53) ";"
WHITESPACE@[53; 58) "\n "
LET_STMT@[58; 78)
LET_KW@[58; 61)
WHITESPACE@[61; 62)
LET_KW@[58; 61) "let"
WHITESPACE@[61; 62) " "
STRUCT_PAT@[62; 72)
PATH@[62; 65)
PATH_SEGMENT@[62; 65)
NAME_REF@[62; 65)
IDENT@[62; 65) "Bar"
WHITESPACE@[65; 66)
WHITESPACE@[65; 66) " "
FIELD_PAT_LIST@[66; 72)
L_CURLY@[66; 67)
WHITESPACE@[67; 68)
DOTDOT@[68; 70)
WHITESPACE@[70; 71)
R_CURLY@[71; 72)
WHITESPACE@[72; 73)
EQ@[73; 74)
WHITESPACE@[74; 75)
L_CURLY@[66; 67) "{"
WHITESPACE@[67; 68) " "
DOTDOT@[68; 70) ".."
WHITESPACE@[70; 71) " "
R_CURLY@[71; 72) "}"
WHITESPACE@[72; 73) " "
EQ@[73; 74) "="
WHITESPACE@[74; 75) " "
TUPLE_EXPR@[75; 77)
L_PAREN@[75; 76)
R_PAREN@[76; 77)
SEMI@[77; 78)
WHITESPACE@[78; 83)
L_PAREN@[75; 76) "("
R_PAREN@[76; 77) ")"
SEMI@[77; 78) ";"
WHITESPACE@[78; 83) "\n "
LET_STMT@[83; 100)
LET_KW@[83; 86)
WHITESPACE@[86; 87)
LET_KW@[83; 86) "let"
WHITESPACE@[86; 87) " "
TUPLE_STRUCT_PAT@[87; 94)
PATH@[87; 90)
PATH_SEGMENT@[87; 90)
NAME_REF@[87; 90)
IDENT@[87; 90) "Bar"
L_PAREN@[90; 91)
DOTDOT@[91; 93)
R_PAREN@[93; 94)
WHITESPACE@[94; 95)
EQ@[95; 96)
WHITESPACE@[96; 97)
L_PAREN@[90; 91) "("
DOTDOT@[91; 93) ".."
R_PAREN@[93; 94) ")"
WHITESPACE@[94; 95) " "
EQ@[95; 96) "="
WHITESPACE@[96; 97) " "
TUPLE_EXPR@[97; 99)
L_PAREN@[97; 98)
R_PAREN@[98; 99)
SEMI@[99; 100)
WHITESPACE@[100; 101)
R_CURLY@[101; 102)
WHITESPACE@[102; 103)
L_PAREN@[97; 98) "("
R_PAREN@[98; 99) ")"
SEMI@[99; 100) ";"
WHITESPACE@[100; 101) "\n"
R_CURLY@[101; 102) "}"
WHITESPACE@[102; 103) "\n"

View file

@ -1,24 +1,24 @@
SOURCE_FILE@[0; 26)
FN_DEF@[0; 25)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 25)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 23)
LOOP_EXPR@[15; 22)
LOOP_KW@[15; 19)
WHITESPACE@[19; 20)
LOOP_KW@[15; 19) "loop"
WHITESPACE@[19; 20) " "
BLOCK@[20; 22)
L_CURLY@[20; 21)
R_CURLY@[21; 22)
SEMI@[22; 23)
WHITESPACE@[23; 24)
R_CURLY@[24; 25)
WHITESPACE@[25; 26)
L_CURLY@[20; 21) "{"
R_CURLY@[21; 22) "}"
SEMI@[22; 23) ";"
WHITESPACE@[23; 24) "\n"
R_CURLY@[24; 25) "}"
WHITESPACE@[25; 26) "\n"

View file

@ -1,9 +1,9 @@
SOURCE_FILE@[0; 10)
EXTERN_BLOCK@[0; 9)
ABI@[0; 6)
EXTERN_KW@[0; 6)
WHITESPACE@[6; 7)
EXTERN_KW@[0; 6) "extern"
WHITESPACE@[6; 7) " "
EXTERN_ITEM_LIST@[7; 9)
L_CURLY@[7; 8)
R_CURLY@[8; 9)
WHITESPACE@[9; 10)
L_CURLY@[7; 8) "{"
R_CURLY@[8; 9) "}"
WHITESPACE@[9; 10) "\n"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 37)
FN_DEF@[0; 36)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 36)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 21)
FIELD_EXPR@[15; 20)
PATH_EXPR@[15; 16)
@ -18,11 +18,11 @@ SOURCE_FILE@[0; 37)
PATH_SEGMENT@[15; 16)
NAME_REF@[15; 16)
IDENT@[15; 16) "x"
DOT@[16; 17)
DOT@[16; 17) "."
NAME_REF@[17; 20)
IDENT@[17; 20) "foo"
SEMI@[20; 21)
WHITESPACE@[21; 26)
SEMI@[20; 21) ";"
WHITESPACE@[21; 26) "\n "
EXPR_STMT@[26; 34)
FIELD_EXPR@[26; 33)
FIELD_EXPR@[26; 29)
@ -31,12 +31,12 @@ SOURCE_FILE@[0; 37)
PATH_SEGMENT@[26; 27)
NAME_REF@[26; 27)
IDENT@[26; 27) "x"
DOT@[27; 28)
DOT@[27; 28) "."
INT_NUMBER@[28; 29) "0"
DOT@[29; 30)
DOT@[29; 30) "."
NAME_REF@[30; 33)
IDENT@[30; 33) "bar"
SEMI@[33; 34)
WHITESPACE@[34; 35)
R_CURLY@[35; 36)
WHITESPACE@[36; 37)
SEMI@[33; 34) ";"
WHITESPACE@[34; 35) "\n"
R_CURLY@[35; 36) "}"
WHITESPACE@[36; 37) "\n"

View file

@ -1,21 +1,21 @@
SOURCE_FILE@[0; 31)
TYPE_ALIAS_DEF@[0; 30)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 8)
IDENT@[5; 8) "Foo"
WHITESPACE@[8; 9)
WHITESPACE@[8; 9) " "
WHERE_CLAUSE@[9; 24)
WHERE_KW@[9; 14)
WHITESPACE@[14; 15)
WHERE_KW@[9; 14) "where"
WHITESPACE@[14; 15) " "
WHERE_PRED@[15; 24)
PATH_TYPE@[15; 18)
PATH@[15; 18)
PATH_SEGMENT@[15; 18)
NAME_REF@[15; 18)
IDENT@[15; 18) "Foo"
COLON@[18; 19)
WHITESPACE@[19; 20)
COLON@[18; 19) ":"
WHITESPACE@[19; 20) " "
TYPE_BOUND_LIST@[20; 24)
TYPE_BOUND@[20; 24)
PATH_TYPE@[20; 24)
@ -23,11 +23,11 @@ SOURCE_FILE@[0; 31)
PATH_SEGMENT@[20; 24)
NAME_REF@[20; 24)
IDENT@[20; 24) "Copy"
WHITESPACE@[24; 25)
EQ@[25; 26)
WHITESPACE@[26; 27)
WHITESPACE@[24; 25) " "
EQ@[25; 26) "="
WHITESPACE@[26; 27) " "
TUPLE_TYPE@[27; 29)
L_PAREN@[27; 28)
R_PAREN@[28; 29)
SEMI@[29; 30)
WHITESPACE@[30; 31)
L_PAREN@[27; 28) "("
R_PAREN@[28; 29) ")"
SEMI@[29; 30) ";"
WHITESPACE@[30; 31) "\n"

View file

@ -1,35 +1,35 @@
SOURCE_FILE@[0; 36)
TYPE_ALIAS_DEF@[0; 17)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "M"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
POINTER_TYPE@[9; 16)
STAR@[9; 10)
MUT_KW@[10; 13)
WHITESPACE@[13; 14)
STAR@[9; 10) "*"
MUT_KW@[10; 13) "mut"
WHITESPACE@[13; 14) " "
TUPLE_TYPE@[14; 16)
L_PAREN@[14; 15)
R_PAREN@[15; 16)
SEMI@[16; 17)
WHITESPACE@[17; 18)
L_PAREN@[14; 15) "("
R_PAREN@[15; 16) ")"
SEMI@[16; 17) ";"
WHITESPACE@[17; 18) "\n"
TYPE_ALIAS_DEF@[18; 35)
TYPE_KW@[18; 22)
WHITESPACE@[22; 23)
TYPE_KW@[18; 22) "type"
WHITESPACE@[22; 23) " "
NAME@[23; 24)
IDENT@[23; 24) "C"
WHITESPACE@[24; 25)
EQ@[25; 26)
WHITESPACE@[26; 27)
WHITESPACE@[24; 25) " "
EQ@[25; 26) "="
WHITESPACE@[26; 27) " "
POINTER_TYPE@[27; 34)
STAR@[27; 28)
MUT_KW@[28; 31)
WHITESPACE@[31; 32)
STAR@[27; 28) "*"
MUT_KW@[28; 31) "mut"
WHITESPACE@[31; 32) " "
TUPLE_TYPE@[32; 34)
L_PAREN@[32; 33)
R_PAREN@[33; 34)
SEMI@[34; 35)
WHITESPACE@[35; 36)
L_PAREN@[32; 33) "("
R_PAREN@[33; 34) ")"
SEMI@[34; 35) ";"
WHITESPACE@[35; 36) "\n"

View file

@ -1,13 +1,13 @@
SOURCE_FILE@[0; 16)
TYPE_ALIAS_DEF@[0; 15)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 10)
IDENT@[5; 10) "Never"
WHITESPACE@[10; 11)
EQ@[11; 12)
WHITESPACE@[12; 13)
WHITESPACE@[10; 11) " "
EQ@[11; 12) "="
WHITESPACE@[12; 13) " "
NEVER_TYPE@[13; 14)
EXCL@[13; 14)
SEMI@[14; 15)
WHITESPACE@[15; 16)
EXCL@[13; 14) "!"
SEMI@[14; 15) ";"
WHITESPACE@[15; 16) "\n"

View file

@ -1,35 +1,35 @@
SOURCE_FILE@[0; 69)
FN_DEF@[0; 68)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 68)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LOOP_EXPR@[15; 66)
LOOP_KW@[15; 19)
WHITESPACE@[19; 20)
LOOP_KW@[15; 19) "loop"
WHITESPACE@[19; 20) " "
BLOCK@[20; 66)
L_CURLY@[20; 21)
WHITESPACE@[21; 30)
L_CURLY@[20; 21) "{"
WHITESPACE@[21; 30) "\n "
EXPR_STMT@[30; 39)
CONTINUE_EXPR@[30; 38)
CONTINUE_KW@[30; 38)
SEMI@[38; 39)
WHITESPACE@[39; 48)
CONTINUE_KW@[30; 38) "continue"
SEMI@[38; 39) ";"
WHITESPACE@[39; 48) "\n "
EXPR_STMT@[48; 60)
CONTINUE_EXPR@[48; 59)
CONTINUE_KW@[48; 56)
WHITESPACE@[56; 57)
LIFETIME@[57; 59) "'l"
SEMI@[59; 60)
WHITESPACE@[60; 65)
R_CURLY@[65; 66)
WHITESPACE@[66; 67)
R_CURLY@[67; 68)
WHITESPACE@[68; 69)
CONTINUE_KW@[48; 56) "continue"
WHITESPACE@[56; 57) " "
LIFETIME@[57; 59) "\'l"
SEMI@[59; 60) ";"
WHITESPACE@[60; 65) "\n "
R_CURLY@[65; 66) "}"
WHITESPACE@[66; 67) "\n"
R_CURLY@[67; 68) "}"
WHITESPACE@[68; 69) "\n"

View file

@ -1,13 +1,13 @@
SOURCE_FILE@[0; 18)
TRAIT_DEF@[0; 17)
UNSAFE_KW@[0; 6)
WHITESPACE@[6; 7)
TRAIT_KW@[7; 12)
WHITESPACE@[12; 13)
UNSAFE_KW@[0; 6) "unsafe"
WHITESPACE@[6; 7) " "
TRAIT_KW@[7; 12) "trait"
WHITESPACE@[12; 13) " "
NAME@[13; 14)
IDENT@[13; 14) "T"
WHITESPACE@[14; 15)
WHITESPACE@[14; 15) " "
ITEM_LIST@[15; 17)
L_CURLY@[15; 16)
R_CURLY@[16; 17)
WHITESPACE@[17; 18)
L_CURLY@[15; 16) "{"
R_CURLY@[16; 17) "}"
WHITESPACE@[17; 18) "\n"

View file

@ -1,21 +1,21 @@
SOURCE_FILE@[0; 19)
TYPE_ALIAS_DEF@[0; 18)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
ARRAY_TYPE@[9; 17)
L_BRACK@[9; 10)
L_BRACK@[9; 10) "["
TUPLE_TYPE@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
SEMI@[12; 13)
WHITESPACE@[13; 14)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
SEMI@[12; 13) ";"
WHITESPACE@[13; 14) " "
LITERAL@[14; 16)
INT_NUMBER@[14; 16) "92"
R_BRACK@[16; 17)
SEMI@[17; 18)
WHITESPACE@[18; 19)
R_BRACK@[16; 17) "]"
SEMI@[17; 18) ";"
WHITESPACE@[18; 19) "\n"

View file

@ -1,72 +1,72 @@
SOURCE_FILE@[0; 69)
IMPL_BLOCK@[0; 68)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 6)
PATH@[5; 6)
PATH_SEGMENT@[5; 6)
NAME_REF@[5; 6)
IDENT@[5; 6) "S"
WHITESPACE@[6; 7)
WHITESPACE@[6; 7) " "
ITEM_LIST@[7; 68)
L_CURLY@[7; 8)
WHITESPACE@[8; 13)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 13) "\n "
FN_DEF@[13; 33)
FN_KW@[13; 15)
WHITESPACE@[15; 16)
FN_KW@[13; 15) "fn"
WHITESPACE@[15; 16) " "
NAME@[16; 17)
IDENT@[16; 17) "a"
PARAM_LIST@[17; 30)
L_PAREN@[17; 18)
L_PAREN@[17; 18) "("
SELF_PARAM@[18; 29)
SELF_KW@[18; 22)
COLON@[22; 23)
WHITESPACE@[23; 24)
SELF_KW@[18; 22) "self"
COLON@[22; 23) ":"
WHITESPACE@[23; 24) " "
REFERENCE_TYPE@[24; 29)
AMP@[24; 25)
AMP@[24; 25) "&"
PATH_TYPE@[25; 29)
PATH@[25; 29)
PATH_SEGMENT@[25; 29)
NAME_REF@[25; 29)
IDENT@[25; 29) "Self"
R_PAREN@[29; 30)
WHITESPACE@[30; 31)
R_PAREN@[29; 30) ")"
WHITESPACE@[30; 31) " "
BLOCK@[31; 33)
L_CURLY@[31; 32)
R_CURLY@[32; 33)
WHITESPACE@[33; 38)
L_CURLY@[31; 32) "{"
R_CURLY@[32; 33) "}"
WHITESPACE@[33; 38) "\n "
FN_DEF@[38; 66)
FN_KW@[38; 40)
WHITESPACE@[40; 41)
FN_KW@[38; 40) "fn"
WHITESPACE@[40; 41) " "
NAME@[41; 42)
IDENT@[41; 42) "b"
PARAM_LIST@[42; 63)
L_PAREN@[42; 43)
L_PAREN@[42; 43) "("
SELF_PARAM@[43; 62)
MUT_KW@[43; 46)
WHITESPACE@[46; 47)
SELF_KW@[47; 51)
COLON@[51; 52)
WHITESPACE@[52; 53)
MUT_KW@[43; 46) "mut"
WHITESPACE@[46; 47) " "
SELF_KW@[47; 51) "self"
COLON@[51; 52) ":"
WHITESPACE@[52; 53) " "
PATH_TYPE@[53; 62)
PATH@[53; 62)
PATH_SEGMENT@[53; 62)
NAME_REF@[53; 56)
IDENT@[53; 56) "Box"
TYPE_ARG_LIST@[56; 62)
L_ANGLE@[56; 57)
L_ANGLE@[56; 57) "<"
TYPE_ARG@[57; 61)
PATH_TYPE@[57; 61)
PATH@[57; 61)
PATH_SEGMENT@[57; 61)
NAME_REF@[57; 61)
IDENT@[57; 61) "Self"
R_ANGLE@[61; 62)
R_PAREN@[62; 63)
WHITESPACE@[63; 64)
R_ANGLE@[61; 62) ">"
R_PAREN@[62; 63) ")"
WHITESPACE@[63; 64) " "
BLOCK@[64; 66)
L_CURLY@[64; 65)
R_CURLY@[65; 66)
WHITESPACE@[66; 67)
R_CURLY@[67; 68)
WHITESPACE@[68; 69)
L_CURLY@[64; 65) "{"
R_CURLY@[65; 66) "}"
WHITESPACE@[66; 67) "\n"
R_CURLY@[67; 68) "}"
WHITESPACE@[68; 69) "\n"

View file

@ -1,44 +1,44 @@
SOURCE_FILE@[0; 44)
FN_DEF@[0; 43)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 43)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 20)
PREFIX_EXPR@[15; 19)
STAR@[15; 16)
STAR@[15; 16) "*"
PREFIX_EXPR@[16; 19)
STAR@[16; 17)
STAR@[16; 17) "*"
REF_EXPR@[17; 19)
AMP@[17; 18)
AMP@[17; 18) "&"
LITERAL@[18; 19)
INT_NUMBER@[18; 19) "1"
SEMI@[19; 20)
WHITESPACE@[20; 25)
SEMI@[19; 20) ";"
WHITESPACE@[20; 25) "\n "
EXPR_STMT@[25; 32)
PREFIX_EXPR@[25; 31)
EXCL@[25; 26)
EXCL@[25; 26) "!"
PREFIX_EXPR@[26; 31)
EXCL@[26; 27)
EXCL@[26; 27) "!"
LITERAL@[27; 31)
TRUE_KW@[27; 31)
SEMI@[31; 32)
WHITESPACE@[32; 37)
TRUE_KW@[27; 31) "true"
SEMI@[31; 32) ";"
WHITESPACE@[32; 37) "\n "
EXPR_STMT@[37; 41)
PREFIX_EXPR@[37; 40)
MINUS@[37; 38)
MINUS@[37; 38) "-"
PREFIX_EXPR@[38; 40)
MINUS@[38; 39)
MINUS@[38; 39) "-"
LITERAL@[39; 40)
INT_NUMBER@[39; 40) "1"
SEMI@[40; 41)
WHITESPACE@[41; 42)
R_CURLY@[42; 43)
WHITESPACE@[43; 44)
SEMI@[40; 41) ";"
WHITESPACE@[41; 42) "\n"
R_CURLY@[42; 43) "}"
WHITESPACE@[43; 44) "\n"

View file

@ -1,59 +1,59 @@
SOURCE_FILE@[0; 60)
USE_ITEM@[0; 6)
USE_KW@[0; 3)
WHITESPACE@[3; 4)
USE_KW@[0; 3) "use"
WHITESPACE@[3; 4) " "
USE_TREE@[4; 5)
STAR@[4; 5)
SEMI@[5; 6)
WHITESPACE@[6; 7)
STAR@[4; 5) "*"
SEMI@[5; 6) ";"
WHITESPACE@[6; 7) "\n"
USE_ITEM@[7; 15)
USE_KW@[7; 10)
WHITESPACE@[10; 11)
USE_KW@[7; 10) "use"
WHITESPACE@[10; 11) " "
USE_TREE@[11; 14)
COLONCOLON@[11; 13)
STAR@[13; 14)
SEMI@[14; 15)
WHITESPACE@[15; 16)
COLONCOLON@[11; 13) "::"
STAR@[13; 14) "*"
SEMI@[14; 15) ";"
WHITESPACE@[15; 16) "\n"
USE_ITEM@[16; 36)
USE_KW@[16; 19)
WHITESPACE@[19; 20)
USE_KW@[16; 19) "use"
WHITESPACE@[19; 20) " "
USE_TREE@[20; 35)
PATH@[20; 30)
PATH@[20; 24)
PATH_SEGMENT@[20; 24)
NAME_REF@[20; 24)
IDENT@[20; 24) "some"
COLONCOLON@[24; 26)
COLONCOLON@[24; 26) "::"
PATH_SEGMENT@[26; 30)
NAME_REF@[26; 30)
IDENT@[26; 30) "path"
COLONCOLON@[30; 32)
COLONCOLON@[30; 32) "::"
USE_TREE_LIST@[32; 35)
L_CURLY@[32; 33)
L_CURLY@[32; 33) "{"
USE_TREE@[33; 34)
STAR@[33; 34)
R_CURLY@[34; 35)
SEMI@[35; 36)
WHITESPACE@[36; 37)
STAR@[33; 34) "*"
R_CURLY@[34; 35) "}"
SEMI@[35; 36) ";"
WHITESPACE@[36; 37) "\n"
USE_ITEM@[37; 59)
USE_KW@[37; 40)
WHITESPACE@[40; 41)
USE_KW@[37; 40) "use"
WHITESPACE@[40; 41) " "
USE_TREE@[41; 58)
PATH@[41; 51)
PATH@[41; 45)
PATH_SEGMENT@[41; 45)
NAME_REF@[41; 45)
IDENT@[41; 45) "some"
COLONCOLON@[45; 47)
COLONCOLON@[45; 47) "::"
PATH_SEGMENT@[47; 51)
NAME_REF@[47; 51)
IDENT@[47; 51) "path"
COLONCOLON@[51; 53)
COLONCOLON@[51; 53) "::"
USE_TREE_LIST@[53; 58)
L_CURLY@[53; 54)
L_CURLY@[53; 54) "{"
USE_TREE@[54; 57)
COLONCOLON@[54; 56)
STAR@[56; 57)
R_CURLY@[57; 58)
SEMI@[58; 59)
WHITESPACE@[59; 60)
COLONCOLON@[54; 56) "::"
STAR@[56; 57) "*"
R_CURLY@[57; 58) "}"
SEMI@[58; 59) ";"
WHITESPACE@[59; 60) "\n"

View file

@ -1,78 +1,78 @@
SOURCE_FILE@[0; 89)
IMPL_BLOCK@[0; 88)
IMPL_KW@[0; 4)
WHITESPACE@[4; 5)
IMPL_KW@[0; 4) "impl"
WHITESPACE@[4; 5) " "
PATH_TYPE@[5; 6)
PATH@[5; 6)
PATH_SEGMENT@[5; 6)
NAME_REF@[5; 6)
IDENT@[5; 6) "F"
WHITESPACE@[6; 7)
WHITESPACE@[6; 7) " "
ITEM_LIST@[7; 88)
L_CURLY@[7; 8)
WHITESPACE@[8; 13)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 13) "\n "
TYPE_ALIAS_DEF@[13; 26)
TYPE_KW@[13; 17)
WHITESPACE@[17; 18)
TYPE_KW@[13; 17) "type"
WHITESPACE@[17; 18) " "
NAME@[18; 19)
IDENT@[18; 19) "A"
WHITESPACE@[19; 20)
EQ@[20; 21)
WHITESPACE@[21; 22)
WHITESPACE@[19; 20) " "
EQ@[20; 21) "="
WHITESPACE@[21; 22) " "
PATH_TYPE@[22; 25)
PATH@[22; 25)
PATH_SEGMENT@[22; 25)
NAME_REF@[22; 25)
IDENT@[22; 25) "i32"
SEMI@[25; 26)
WHITESPACE@[26; 31)
SEMI@[25; 26) ";"
WHITESPACE@[26; 31) "\n "
CONST_DEF@[31; 49)
CONST_KW@[31; 36)
WHITESPACE@[36; 37)
CONST_KW@[31; 36) "const"
WHITESPACE@[36; 37) " "
NAME@[37; 38)
IDENT@[37; 38) "B"
COLON@[38; 39)
WHITESPACE@[39; 40)
COLON@[38; 39) ":"
WHITESPACE@[39; 40) " "
PATH_TYPE@[40; 43)
PATH@[40; 43)
PATH_SEGMENT@[40; 43)
NAME_REF@[40; 43)
IDENT@[40; 43) "i32"
WHITESPACE@[43; 44)
EQ@[44; 45)
WHITESPACE@[45; 46)
WHITESPACE@[43; 44) " "
EQ@[44; 45) "="
WHITESPACE@[45; 46) " "
LITERAL@[46; 48)
INT_NUMBER@[46; 48) "92"
SEMI@[48; 49)
WHITESPACE@[49; 54)
SEMI@[48; 49) ";"
WHITESPACE@[49; 54) "\n "
FN_DEF@[54; 65)
FN_KW@[54; 56)
WHITESPACE@[56; 57)
FN_KW@[54; 56) "fn"
WHITESPACE@[56; 57) " "
NAME@[57; 60)
IDENT@[57; 60) "foo"
PARAM_LIST@[60; 62)
L_PAREN@[60; 61)
R_PAREN@[61; 62)
WHITESPACE@[62; 63)
L_PAREN@[60; 61) "("
R_PAREN@[61; 62) ")"
WHITESPACE@[62; 63) " "
BLOCK@[63; 65)
L_CURLY@[63; 64)
R_CURLY@[64; 65)
WHITESPACE@[65; 70)
L_CURLY@[63; 64) "{"
R_CURLY@[64; 65) "}"
WHITESPACE@[65; 70) "\n "
FN_DEF@[70; 86)
FN_KW@[70; 72)
WHITESPACE@[72; 73)
FN_KW@[70; 72) "fn"
WHITESPACE@[72; 73) " "
NAME@[73; 76)
IDENT@[73; 76) "bar"
PARAM_LIST@[76; 83)
L_PAREN@[76; 77)
L_PAREN@[76; 77) "("
SELF_PARAM@[77; 82)
AMP@[77; 78)
SELF_KW@[78; 82)
R_PAREN@[82; 83)
WHITESPACE@[83; 84)
AMP@[77; 78) "&"
SELF_KW@[78; 82) "self"
R_PAREN@[82; 83) ")"
WHITESPACE@[83; 84) " "
BLOCK@[84; 86)
L_CURLY@[84; 85)
R_CURLY@[85; 86)
WHITESPACE@[86; 87)
R_CURLY@[87; 88)
WHITESPACE@[88; 89)
L_CURLY@[84; 85) "{"
R_CURLY@[85; 86) "}"
WHITESPACE@[86; 87) "\n"
R_CURLY@[87; 88) "}"
WHITESPACE@[88; 89) "\n"

View file

@ -1,53 +1,53 @@
SOURCE_FILE@[0; 81)
STRUCT_DEF@[0; 20)
VISIBILITY@[0; 10)
PUB_KW@[0; 3)
L_PAREN@[3; 4)
CRATE_KW@[4; 9)
R_PAREN@[9; 10)
WHITESPACE@[10; 11)
STRUCT_KW@[11; 17)
WHITESPACE@[17; 18)
PUB_KW@[0; 3) "pub"
L_PAREN@[3; 4) "("
CRATE_KW@[4; 9) "crate"
R_PAREN@[9; 10) ")"
WHITESPACE@[10; 11) " "
STRUCT_KW@[11; 17) "struct"
WHITESPACE@[17; 18) " "
NAME@[18; 19)
IDENT@[18; 19) "S"
SEMI@[19; 20)
WHITESPACE@[20; 21)
SEMI@[19; 20) ";"
WHITESPACE@[20; 21) "\n"
STRUCT_DEF@[21; 40)
VISIBILITY@[21; 30)
PUB_KW@[21; 24)
L_PAREN@[24; 25)
SELF_KW@[25; 29)
R_PAREN@[29; 30)
WHITESPACE@[30; 31)
STRUCT_KW@[31; 37)
WHITESPACE@[37; 38)
PUB_KW@[21; 24) "pub"
L_PAREN@[24; 25) "("
SELF_KW@[25; 29) "self"
R_PAREN@[29; 30) ")"
WHITESPACE@[30; 31) " "
STRUCT_KW@[31; 37) "struct"
WHITESPACE@[37; 38) " "
NAME@[38; 39)
IDENT@[38; 39) "S"
SEMI@[39; 40)
WHITESPACE@[40; 41)
SEMI@[39; 40) ";"
WHITESPACE@[40; 41) "\n"
STRUCT_DEF@[41; 60)
VISIBILITY@[41; 50)
PUB_KW@[41; 44)
L_PAREN@[44; 45)
SELF_KW@[45; 49)
R_PAREN@[49; 50)
WHITESPACE@[50; 51)
STRUCT_KW@[51; 57)
WHITESPACE@[57; 58)
PUB_KW@[41; 44) "pub"
L_PAREN@[44; 45) "("
SELF_KW@[45; 49) "self"
R_PAREN@[49; 50) ")"
WHITESPACE@[50; 51) " "
STRUCT_KW@[51; 57) "struct"
WHITESPACE@[57; 58) " "
NAME@[58; 59)
IDENT@[58; 59) "S"
SEMI@[59; 60)
WHITESPACE@[60; 61)
SEMI@[59; 60) ";"
WHITESPACE@[60; 61) "\n"
STRUCT_DEF@[61; 80)
VISIBILITY@[61; 70)
PUB_KW@[61; 64)
L_PAREN@[64; 65)
SELF_KW@[65; 69)
R_PAREN@[69; 70)
WHITESPACE@[70; 71)
STRUCT_KW@[71; 77)
WHITESPACE@[77; 78)
PUB_KW@[61; 64) "pub"
L_PAREN@[64; 65) "("
SELF_KW@[65; 69) "self"
R_PAREN@[69; 70) ")"
WHITESPACE@[70; 71) " "
STRUCT_KW@[71; 77) "struct"
WHITESPACE@[77; 78) " "
NAME@[78; 79)
IDENT@[78; 79) "S"
SEMI@[79; 80)
WHITESPACE@[80; 81)
SEMI@[79; 80) ";"
WHITESPACE@[80; 81) "\n"

View file

@ -1,13 +1,13 @@
SOURCE_FILE@[0; 22)
TYPE_ALIAS_DEF@[0; 21)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 16)
IDENT@[5; 16) "Placeholder"
WHITESPACE@[16; 17)
EQ@[17; 18)
WHITESPACE@[18; 19)
WHITESPACE@[16; 17) " "
EQ@[17; 18) "="
WHITESPACE@[18; 19) " "
PLACEHOLDER_TYPE@[19; 20)
UNDERSCORE@[19; 20)
SEMI@[20; 21)
WHITESPACE@[21; 22)
UNDERSCORE@[19; 20) "_"
SEMI@[20; 21) ";"
WHITESPACE@[21; 22) "\n"

View file

@ -1,40 +1,40 @@
SOURCE_FILE@[0; 39)
FN_DEF@[0; 38)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 38)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
LET_STMT@[16; 36)
LET_KW@[16; 19)
WHITESPACE@[19; 20)
LET_KW@[16; 19) "let"
WHITESPACE@[19; 20) " "
SLICE_PAT@[20; 30)
L_BRACK@[20; 21)
L_BRACK@[20; 21) "["
BIND_PAT@[21; 22)
NAME@[21; 22)
IDENT@[21; 22) "a"
COMMA@[22; 23)
WHITESPACE@[23; 24)
COMMA@[22; 23) ","
WHITESPACE@[23; 24) " "
BIND_PAT@[24; 25)
NAME@[24; 25)
IDENT@[24; 25) "b"
COMMA@[25; 26)
WHITESPACE@[26; 27)
DOTDOT@[27; 29)
R_BRACK@[29; 30)
WHITESPACE@[30; 31)
EQ@[31; 32)
WHITESPACE@[32; 33)
COMMA@[25; 26) ","
WHITESPACE@[26; 27) " "
DOTDOT@[27; 29) ".."
R_BRACK@[29; 30) "]"
WHITESPACE@[30; 31) " "
EQ@[31; 32) "="
WHITESPACE@[32; 33) " "
ARRAY_EXPR@[33; 35)
L_BRACK@[33; 34)
R_BRACK@[34; 35)
SEMI@[35; 36)
WHITESPACE@[36; 37)
R_CURLY@[37; 38)
WHITESPACE@[38; 39)
L_BRACK@[33; 34) "["
R_BRACK@[34; 35) "]"
SEMI@[35; 36) ";"
WHITESPACE@[36; 37) "\n"
R_CURLY@[37; 38) "}"
WHITESPACE@[38; 39) "\n"

View file

@ -1,17 +1,17 @@
SOURCE_FILE@[0; 15)
TYPE_ALIAS_DEF@[0; 14)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
SLICE_TYPE@[9; 13)
L_BRACK@[9; 10)
L_BRACK@[9; 10) "["
TUPLE_TYPE@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
R_BRACK@[12; 13)
SEMI@[13; 14)
WHITESPACE@[14; 15)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
R_BRACK@[12; 13) "]"
SEMI@[13; 14) ";"
WHITESPACE@[14; 15) "\n"

View file

@ -1,103 +1,103 @@
SOURCE_FILE@[0; 97)
FN_DEF@[0; 96)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 96)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 28)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
TUPLE_STRUCT_PAT@[19; 22)
PATH@[19; 20)
PATH_SEGMENT@[19; 20)
NAME_REF@[19; 20)
IDENT@[19; 20) "S"
L_PAREN@[20; 21)
R_PAREN@[21; 22)
WHITESPACE@[22; 23)
EQ@[23; 24)
WHITESPACE@[24; 25)
L_PAREN@[20; 21) "("
R_PAREN@[21; 22) ")"
WHITESPACE@[22; 23) " "
EQ@[23; 24) "="
WHITESPACE@[24; 25) " "
TUPLE_EXPR@[25; 27)
L_PAREN@[25; 26)
R_PAREN@[26; 27)
SEMI@[27; 28)
WHITESPACE@[28; 33)
L_PAREN@[25; 26) "("
R_PAREN@[26; 27) ")"
SEMI@[27; 28) ";"
WHITESPACE@[28; 33) "\n "
LET_STMT@[33; 47)
LET_KW@[33; 36)
WHITESPACE@[36; 37)
LET_KW@[33; 36) "let"
WHITESPACE@[36; 37) " "
TUPLE_STRUCT_PAT@[37; 41)
PATH@[37; 38)
PATH_SEGMENT@[37; 38)
NAME_REF@[37; 38)
IDENT@[37; 38) "S"
L_PAREN@[38; 39)
L_PAREN@[38; 39) "("
PLACEHOLDER_PAT@[39; 40)
UNDERSCORE@[39; 40)
R_PAREN@[40; 41)
WHITESPACE@[41; 42)
EQ@[42; 43)
WHITESPACE@[43; 44)
UNDERSCORE@[39; 40) "_"
R_PAREN@[40; 41) ")"
WHITESPACE@[41; 42) " "
EQ@[42; 43) "="
WHITESPACE@[43; 44) " "
TUPLE_EXPR@[44; 46)
L_PAREN@[44; 45)
R_PAREN@[45; 46)
SEMI@[46; 47)
WHITESPACE@[47; 52)
L_PAREN@[44; 45) "("
R_PAREN@[45; 46) ")"
SEMI@[46; 47) ";"
WHITESPACE@[47; 52) "\n "
LET_STMT@[52; 67)
LET_KW@[52; 55)
WHITESPACE@[55; 56)
LET_KW@[52; 55) "let"
WHITESPACE@[55; 56) " "
TUPLE_STRUCT_PAT@[56; 61)
PATH@[56; 57)
PATH_SEGMENT@[56; 57)
NAME_REF@[56; 57)
IDENT@[56; 57) "S"
L_PAREN@[57; 58)
L_PAREN@[57; 58) "("
PLACEHOLDER_PAT@[58; 59)
UNDERSCORE@[58; 59)
COMMA@[59; 60)
R_PAREN@[60; 61)
WHITESPACE@[61; 62)
EQ@[62; 63)
WHITESPACE@[63; 64)
UNDERSCORE@[58; 59) "_"
COMMA@[59; 60) ","
R_PAREN@[60; 61) ")"
WHITESPACE@[61; 62) " "
EQ@[62; 63) "="
WHITESPACE@[63; 64) " "
TUPLE_EXPR@[64; 66)
L_PAREN@[64; 65)
R_PAREN@[65; 66)
SEMI@[66; 67)
WHITESPACE@[67; 72)
L_PAREN@[64; 65) "("
R_PAREN@[65; 66) ")"
SEMI@[66; 67) ";"
WHITESPACE@[67; 72) "\n "
LET_STMT@[72; 94)
LET_KW@[72; 75)
WHITESPACE@[75; 76)
LET_KW@[72; 75) "let"
WHITESPACE@[75; 76) " "
TUPLE_STRUCT_PAT@[76; 88)
PATH@[76; 77)
PATH_SEGMENT@[76; 77)
NAME_REF@[76; 77)
IDENT@[76; 77) "S"
L_PAREN@[77; 78)
L_PAREN@[77; 78) "("
PLACEHOLDER_PAT@[78; 79)
UNDERSCORE@[78; 79)
COMMA@[79; 80)
WHITESPACE@[80; 81)
DOTDOT@[81; 83)
WHITESPACE@[83; 84)
COMMA@[84; 85)
WHITESPACE@[85; 86)
UNDERSCORE@[78; 79) "_"
COMMA@[79; 80) ","
WHITESPACE@[80; 81) " "
DOTDOT@[81; 83) ".."
WHITESPACE@[83; 84) " "
COMMA@[84; 85) ","
WHITESPACE@[85; 86) " "
BIND_PAT@[86; 87)
NAME@[86; 87)
IDENT@[86; 87) "x"
R_PAREN@[87; 88)
WHITESPACE@[88; 89)
EQ@[89; 90)
WHITESPACE@[90; 91)
R_PAREN@[87; 88) ")"
WHITESPACE@[88; 89) " "
EQ@[89; 90) "="
WHITESPACE@[90; 91) " "
TUPLE_EXPR@[91; 93)
L_PAREN@[91; 92)
R_PAREN@[92; 93)
SEMI@[93; 94)
WHITESPACE@[94; 95)
R_CURLY@[95; 96)
WHITESPACE@[96; 97)
L_PAREN@[91; 92) "("
R_PAREN@[92; 93) ")"
SEMI@[93; 94) ";"
WHITESPACE@[94; 95) "\n"
R_CURLY@[95; 96) "}"
WHITESPACE@[96; 97) "\n"

View file

@ -1,49 +1,49 @@
SOURCE_FILE@[0; 52)
FN_DEF@[0; 51)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 51)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
LET_STMT@[16; 28)
LET_KW@[16; 19)
WHITESPACE@[19; 20)
LET_KW@[16; 19) "let"
WHITESPACE@[19; 20) " "
REF_PAT@[20; 22)
AMP@[20; 21)
AMP@[20; 21) "&"
BIND_PAT@[21; 22)
NAME@[21; 22)
IDENT@[21; 22) "a"
WHITESPACE@[22; 23)
EQ@[23; 24)
WHITESPACE@[24; 25)
WHITESPACE@[22; 23) " "
EQ@[23; 24) "="
WHITESPACE@[24; 25) " "
TUPLE_EXPR@[25; 27)
L_PAREN@[25; 26)
R_PAREN@[26; 27)
SEMI@[27; 28)
WHITESPACE@[28; 33)
L_PAREN@[25; 26) "("
R_PAREN@[26; 27) ")"
SEMI@[27; 28) ";"
WHITESPACE@[28; 33) "\n "
LET_STMT@[33; 49)
LET_KW@[33; 36)
WHITESPACE@[36; 37)
LET_KW@[33; 36) "let"
WHITESPACE@[36; 37) " "
REF_PAT@[37; 43)
AMP@[37; 38)
MUT_KW@[38; 41)
WHITESPACE@[41; 42)
AMP@[37; 38) "&"
MUT_KW@[38; 41) "mut"
WHITESPACE@[41; 42) " "
BIND_PAT@[42; 43)
NAME@[42; 43)
IDENT@[42; 43) "b"
WHITESPACE@[43; 44)
EQ@[44; 45)
WHITESPACE@[45; 46)
WHITESPACE@[43; 44) " "
EQ@[44; 45) "="
WHITESPACE@[45; 46) " "
TUPLE_EXPR@[46; 48)
L_PAREN@[46; 47)
R_PAREN@[47; 48)
SEMI@[48; 49)
WHITESPACE@[49; 50)
R_CURLY@[50; 51)
WHITESPACE@[51; 52)
L_PAREN@[46; 47) "("
R_PAREN@[47; 48) ")"
SEMI@[48; 49) ";"
WHITESPACE@[49; 50) "\n"
R_CURLY@[50; 51) "}"
WHITESPACE@[51; 52) "\n"

View file

@ -1,15 +1,15 @@
SOURCE_FILE@[0; 43)
TYPE_ALIAS_DEF@[0; 42)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
IMPL_TRAIT_TYPE@[9; 41)
IMPL_KW@[9; 13)
WHITESPACE@[13; 14)
IMPL_KW@[9; 13) "impl"
WHITESPACE@[13; 14) " "
TYPE_BOUND_LIST@[14; 41)
TYPE_BOUND@[14; 36)
PATH_TYPE@[14; 36)
@ -18,26 +18,26 @@ SOURCE_FILE@[0; 43)
NAME_REF@[14; 22)
IDENT@[14; 22) "Iterator"
TYPE_ARG_LIST@[22; 36)
L_ANGLE@[22; 23)
L_ANGLE@[22; 23) "<"
ASSOC_TYPE_ARG@[23; 35)
NAME_REF@[23; 27)
IDENT@[23; 27) "Item"
EQ@[27; 28)
EQ@[27; 28) "="
PATH_TYPE@[28; 35)
PATH@[28; 35)
PATH_SEGMENT@[28; 35)
NAME_REF@[28; 31)
IDENT@[28; 31) "Foo"
TYPE_ARG_LIST@[31; 35)
L_ANGLE@[31; 32)
L_ANGLE@[31; 32) "<"
LIFETIME_ARG@[32; 34)
LIFETIME@[32; 34) "'a"
R_ANGLE@[34; 35)
R_ANGLE@[35; 36)
WHITESPACE@[36; 37)
PLUS@[37; 38)
WHITESPACE@[38; 39)
LIFETIME@[32; 34) "\'a"
R_ANGLE@[34; 35) ">"
R_ANGLE@[35; 36) ">"
WHITESPACE@[36; 37) " "
PLUS@[37; 38) "+"
WHITESPACE@[38; 39) " "
TYPE_BOUND@[39; 41)
LIFETIME@[39; 41) "'a"
SEMI@[41; 42)
WHITESPACE@[42; 43)
LIFETIME@[39; 41) "\'a"
SEMI@[41; 42) ";"
WHITESPACE@[42; 43) "\n"

View file

@ -1,89 +1,89 @@
SOURCE_FILE@[0; 89)
FN_DEF@[0; 88)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 88)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 25)
CAST_EXPR@[15; 24)
LITERAL@[15; 17)
INT_NUMBER@[15; 17) "82"
WHITESPACE@[17; 18)
AS_KW@[18; 20)
WHITESPACE@[20; 21)
WHITESPACE@[17; 18) " "
AS_KW@[18; 20) "as"
WHITESPACE@[20; 21) " "
PATH_TYPE@[21; 24)
PATH@[21; 24)
PATH_SEGMENT@[21; 24)
NAME_REF@[21; 24)
IDENT@[21; 24) "i32"
SEMI@[24; 25)
WHITESPACE@[25; 30)
SEMI@[24; 25) ";"
WHITESPACE@[25; 30) "\n "
EXPR_STMT@[30; 43)
BIN_EXPR@[30; 42)
CAST_EXPR@[30; 38)
LITERAL@[30; 32)
INT_NUMBER@[30; 32) "81"
WHITESPACE@[32; 33)
AS_KW@[33; 35)
WHITESPACE@[35; 36)
WHITESPACE@[32; 33) " "
AS_KW@[33; 35) "as"
WHITESPACE@[35; 36) " "
PATH_TYPE@[36; 38)
PATH@[36; 38)
PATH_SEGMENT@[36; 38)
NAME_REF@[36; 38)
IDENT@[36; 38) "i8"
WHITESPACE@[38; 39)
PLUS@[39; 40)
WHITESPACE@[40; 41)
WHITESPACE@[38; 39) " "
PLUS@[39; 40) "+"
WHITESPACE@[40; 41) " "
LITERAL@[41; 42)
INT_NUMBER@[41; 42) "1"
SEMI@[42; 43)
WHITESPACE@[43; 48)
SEMI@[42; 43) ";"
WHITESPACE@[43; 48) "\n "
EXPR_STMT@[48; 62)
BIN_EXPR@[48; 61)
CAST_EXPR@[48; 57)
LITERAL@[48; 50)
INT_NUMBER@[48; 50) "79"
WHITESPACE@[50; 51)
AS_KW@[51; 53)
WHITESPACE@[53; 54)
WHITESPACE@[50; 51) " "
AS_KW@[51; 53) "as"
WHITESPACE@[53; 54) " "
PATH_TYPE@[54; 57)
PATH@[54; 57)
PATH_SEGMENT@[54; 57)
NAME_REF@[54; 57)
IDENT@[54; 57) "i16"
WHITESPACE@[57; 58)
MINUS@[58; 59)
WHITESPACE@[59; 60)
WHITESPACE@[57; 58) " "
MINUS@[58; 59) "-"
WHITESPACE@[59; 60) " "
LITERAL@[60; 61)
INT_NUMBER@[60; 61) "1"
SEMI@[61; 62)
WHITESPACE@[62; 67)
SEMI@[61; 62) ";"
WHITESPACE@[62; 67) "\n "
EXPR_STMT@[67; 86)
BIN_EXPR@[67; 85)
CAST_EXPR@[67; 77)
LITERAL@[67; 71)
INT_NUMBER@[67; 71) "0x36"
WHITESPACE@[71; 72)
AS_KW@[72; 74)
WHITESPACE@[74; 75)
WHITESPACE@[71; 72) " "
AS_KW@[72; 74) "as"
WHITESPACE@[74; 75) " "
PATH_TYPE@[75; 77)
PATH@[75; 77)
PATH_SEGMENT@[75; 77)
NAME_REF@[75; 77)
IDENT@[75; 77) "u8"
WHITESPACE@[77; 78)
LTEQ@[78; 80)
WHITESPACE@[80; 81)
WHITESPACE@[77; 78) " "
LTEQ@[78; 80) "<="
WHITESPACE@[80; 81) " "
LITERAL@[81; 85)
INT_NUMBER@[81; 85) "0x37"
SEMI@[85; 86)
WHITESPACE@[86; 87)
R_CURLY@[87; 88)
WHITESPACE@[88; 89)
SEMI@[85; 86) ";"
WHITESPACE@[86; 87) "\n"
R_CURLY@[87; 88) "}"
WHITESPACE@[88; 89) "\n"

View file

@ -1,200 +1,200 @@
SOURCE_FILE@[0; 197)
FN_DEF@[0; 37)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 37)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) " "
IF_EXPR@[11; 35)
IF_KW@[11; 13)
WHITESPACE@[13; 14)
IF_KW@[11; 13) "if"
WHITESPACE@[13; 14) " "
CONDITION@[14; 32)
LET_KW@[14; 17)
WHITESPACE@[17; 18)
LET_KW@[14; 17) "let"
WHITESPACE@[17; 18) " "
TUPLE_STRUCT_PAT@[18; 25)
PATH@[18; 22)
PATH_SEGMENT@[18; 22)
NAME_REF@[18; 22)
IDENT@[18; 22) "Some"
L_PAREN@[22; 23)
L_PAREN@[22; 23) "("
PLACEHOLDER_PAT@[23; 24)
UNDERSCORE@[23; 24)
R_PAREN@[24; 25)
WHITESPACE@[25; 26)
EQ@[26; 27)
WHITESPACE@[27; 28)
UNDERSCORE@[23; 24) "_"
R_PAREN@[24; 25) ")"
WHITESPACE@[25; 26) " "
EQ@[26; 27) "="
WHITESPACE@[27; 28) " "
PATH_EXPR@[28; 32)
PATH@[28; 32)
PATH_SEGMENT@[28; 32)
NAME_REF@[28; 32)
IDENT@[28; 32) "None"
WHITESPACE@[32; 33)
WHITESPACE@[32; 33) " "
BLOCK@[33; 35)
L_CURLY@[33; 34)
R_CURLY@[34; 35)
WHITESPACE@[35; 36)
R_CURLY@[36; 37)
WHITESPACE@[37; 38)
L_CURLY@[33; 34) "{"
R_CURLY@[34; 35) "}"
WHITESPACE@[35; 36) " "
R_CURLY@[36; 37) "}"
WHITESPACE@[37; 38) "\n"
FN_DEF@[38; 196)
FN_KW@[38; 40)
WHITESPACE@[40; 41)
FN_KW@[38; 40) "fn"
WHITESPACE@[40; 41) " "
NAME@[41; 44)
IDENT@[41; 44) "bar"
PARAM_LIST@[44; 46)
L_PAREN@[44; 45)
R_PAREN@[45; 46)
WHITESPACE@[46; 47)
L_PAREN@[44; 45) "("
R_PAREN@[45; 46) ")"
WHITESPACE@[46; 47) " "
BLOCK@[47; 196)
L_CURLY@[47; 48)
WHITESPACE@[48; 53)
L_CURLY@[47; 48) "{"
WHITESPACE@[48; 53) "\n "
EXPR_STMT@[53; 87)
IF_EXPR@[53; 87)
IF_KW@[53; 55)
WHITESPACE@[55; 56)
IF_KW@[53; 55) "if"
WHITESPACE@[55; 56) " "
CONDITION@[56; 84)
LET_KW@[56; 59)
WHITESPACE@[59; 60)
LET_KW@[56; 59) "let"
WHITESPACE@[59; 60) " "
TUPLE_STRUCT_PAT@[60; 67)
PATH@[60; 64)
PATH_SEGMENT@[60; 64)
NAME_REF@[60; 64)
IDENT@[60; 64) "Some"
L_PAREN@[64; 65)
L_PAREN@[64; 65) "("
PLACEHOLDER_PAT@[65; 66)
UNDERSCORE@[65; 66)
R_PAREN@[66; 67)
WHITESPACE@[67; 68)
PIPE@[68; 69)
WHITESPACE@[69; 70)
UNDERSCORE@[65; 66) "_"
R_PAREN@[66; 67) ")"
WHITESPACE@[67; 68) " "
PIPE@[68; 69) "|"
WHITESPACE@[69; 70) " "
TUPLE_STRUCT_PAT@[70; 77)
PATH@[70; 74)
PATH_SEGMENT@[70; 74)
NAME_REF@[70; 74)
IDENT@[70; 74) "Some"
L_PAREN@[74; 75)
L_PAREN@[74; 75) "("
PLACEHOLDER_PAT@[75; 76)
UNDERSCORE@[75; 76)
R_PAREN@[76; 77)
WHITESPACE@[77; 78)
EQ@[78; 79)
WHITESPACE@[79; 80)
UNDERSCORE@[75; 76) "_"
R_PAREN@[76; 77) ")"
WHITESPACE@[77; 78) " "
EQ@[78; 79) "="
WHITESPACE@[79; 80) " "
PATH_EXPR@[80; 84)
PATH@[80; 84)
PATH_SEGMENT@[80; 84)
NAME_REF@[80; 84)
IDENT@[80; 84) "None"
WHITESPACE@[84; 85)
WHITESPACE@[84; 85) " "
BLOCK@[85; 87)
L_CURLY@[85; 86)
R_CURLY@[86; 87)
WHITESPACE@[87; 92)
L_CURLY@[85; 86) "{"
R_CURLY@[86; 87) "}"
WHITESPACE@[87; 92) "\n "
EXPR_STMT@[92; 118)
IF_EXPR@[92; 118)
IF_KW@[92; 94)
WHITESPACE@[94; 95)
IF_KW@[92; 94) "if"
WHITESPACE@[94; 95) " "
CONDITION@[95; 115)
LET_KW@[95; 98)
WHITESPACE@[98; 99)
PIPE@[99; 100)
WHITESPACE@[100; 101)
LET_KW@[95; 98) "let"
WHITESPACE@[98; 99) " "
PIPE@[99; 100) "|"
WHITESPACE@[100; 101) " "
TUPLE_STRUCT_PAT@[101; 108)
PATH@[101; 105)
PATH_SEGMENT@[101; 105)
NAME_REF@[101; 105)
IDENT@[101; 105) "Some"
L_PAREN@[105; 106)
L_PAREN@[105; 106) "("
PLACEHOLDER_PAT@[106; 107)
UNDERSCORE@[106; 107)
R_PAREN@[107; 108)
WHITESPACE@[108; 109)
EQ@[109; 110)
WHITESPACE@[110; 111)
UNDERSCORE@[106; 107) "_"
R_PAREN@[107; 108) ")"
WHITESPACE@[108; 109) " "
EQ@[109; 110) "="
WHITESPACE@[110; 111) " "
PATH_EXPR@[111; 115)
PATH@[111; 115)
PATH_SEGMENT@[111; 115)
NAME_REF@[111; 115)
IDENT@[111; 115) "None"
WHITESPACE@[115; 116)
WHITESPACE@[115; 116) " "
BLOCK@[116; 118)
L_CURLY@[116; 117)
R_CURLY@[117; 118)
WHITESPACE@[118; 123)
L_CURLY@[116; 117) "{"
R_CURLY@[117; 118) "}"
WHITESPACE@[118; 123) "\n "
EXPR_STMT@[123; 160)
WHILE_EXPR@[123; 160)
WHILE_KW@[123; 128)
WHITESPACE@[128; 129)
WHILE_KW@[123; 128) "while"
WHITESPACE@[128; 129) " "
CONDITION@[129; 157)
LET_KW@[129; 132)
WHITESPACE@[132; 133)
LET_KW@[129; 132) "let"
WHITESPACE@[132; 133) " "
TUPLE_STRUCT_PAT@[133; 140)
PATH@[133; 137)
PATH_SEGMENT@[133; 137)
NAME_REF@[133; 137)
IDENT@[133; 137) "Some"
L_PAREN@[137; 138)
L_PAREN@[137; 138) "("
PLACEHOLDER_PAT@[138; 139)
UNDERSCORE@[138; 139)
R_PAREN@[139; 140)
WHITESPACE@[140; 141)
PIPE@[141; 142)
WHITESPACE@[142; 143)
UNDERSCORE@[138; 139) "_"
R_PAREN@[139; 140) ")"
WHITESPACE@[140; 141) " "
PIPE@[141; 142) "|"
WHITESPACE@[142; 143) " "
TUPLE_STRUCT_PAT@[143; 150)
PATH@[143; 147)
PATH_SEGMENT@[143; 147)
NAME_REF@[143; 147)
IDENT@[143; 147) "Some"
L_PAREN@[147; 148)
L_PAREN@[147; 148) "("
PLACEHOLDER_PAT@[148; 149)
UNDERSCORE@[148; 149)
R_PAREN@[149; 150)
WHITESPACE@[150; 151)
EQ@[151; 152)
WHITESPACE@[152; 153)
UNDERSCORE@[148; 149) "_"
R_PAREN@[149; 150) ")"
WHITESPACE@[150; 151) " "
EQ@[151; 152) "="
WHITESPACE@[152; 153) " "
PATH_EXPR@[153; 157)
PATH@[153; 157)
PATH_SEGMENT@[153; 157)
NAME_REF@[153; 157)
IDENT@[153; 157) "None"
WHITESPACE@[157; 158)
WHITESPACE@[157; 158) " "
BLOCK@[158; 160)
L_CURLY@[158; 159)
R_CURLY@[159; 160)
WHITESPACE@[160; 165)
L_CURLY@[158; 159) "{"
R_CURLY@[159; 160) "}"
WHITESPACE@[160; 165) "\n "
WHILE_EXPR@[165; 194)
WHILE_KW@[165; 170)
WHITESPACE@[170; 171)
WHILE_KW@[165; 170) "while"
WHITESPACE@[170; 171) " "
CONDITION@[171; 191)
LET_KW@[171; 174)
WHITESPACE@[174; 175)
PIPE@[175; 176)
WHITESPACE@[176; 177)
LET_KW@[171; 174) "let"
WHITESPACE@[174; 175) " "
PIPE@[175; 176) "|"
WHITESPACE@[176; 177) " "
TUPLE_STRUCT_PAT@[177; 184)
PATH@[177; 181)
PATH_SEGMENT@[177; 181)
NAME_REF@[177; 181)
IDENT@[177; 181) "Some"
L_PAREN@[181; 182)
L_PAREN@[181; 182) "("
PLACEHOLDER_PAT@[182; 183)
UNDERSCORE@[182; 183)
R_PAREN@[183; 184)
WHITESPACE@[184; 185)
EQ@[185; 186)
WHITESPACE@[186; 187)
UNDERSCORE@[182; 183) "_"
R_PAREN@[183; 184) ")"
WHITESPACE@[184; 185) " "
EQ@[185; 186) "="
WHITESPACE@[186; 187) " "
PATH_EXPR@[187; 191)
PATH@[187; 191)
PATH_SEGMENT@[187; 191)
NAME_REF@[187; 191)
IDENT@[187; 191) "None"
WHITESPACE@[191; 192)
WHITESPACE@[191; 192) " "
BLOCK@[192; 194)
L_CURLY@[192; 193)
R_CURLY@[193; 194)
WHITESPACE@[194; 195)
R_CURLY@[195; 196)
WHITESPACE@[196; 197)
L_CURLY@[192; 193) "{"
R_CURLY@[193; 194) "}"
WHITESPACE@[194; 195) "\n"
R_CURLY@[195; 196) "}"
WHITESPACE@[196; 197) "\n"

View file

@ -1,66 +1,66 @@
SOURCE_FILE@[0; 70)
FN_DEF@[0; 69)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 69)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
EXPR_STMT@[15; 29)
WHILE_EXPR@[15; 28)
WHILE_KW@[15; 20)
WHITESPACE@[20; 21)
WHILE_KW@[15; 20) "while"
WHITESPACE@[20; 21) " "
CONDITION@[21; 25)
LITERAL@[21; 25)
TRUE_KW@[21; 25)
WHITESPACE@[25; 26)
TRUE_KW@[21; 25) "true"
WHITESPACE@[25; 26) " "
BLOCK@[26; 28)
L_CURLY@[26; 27)
R_CURLY@[27; 28)
SEMI@[28; 29)
WHITESPACE@[29; 34)
L_CURLY@[26; 27) "{"
R_CURLY@[27; 28) "}"
SEMI@[28; 29) ";"
WHITESPACE@[29; 34) "\n "
EXPR_STMT@[34; 67)
WHILE_EXPR@[34; 66)
WHILE_KW@[34; 39)
WHITESPACE@[39; 40)
WHILE_KW@[34; 39) "while"
WHITESPACE@[39; 40) " "
CONDITION@[40; 63)
LET_KW@[40; 43)
WHITESPACE@[43; 44)
LET_KW@[40; 43) "let"
WHITESPACE@[43; 44) " "
TUPLE_STRUCT_PAT@[44; 51)
PATH@[44; 48)
PATH_SEGMENT@[44; 48)
NAME_REF@[44; 48)
IDENT@[44; 48) "Some"
L_PAREN@[48; 49)
L_PAREN@[48; 49) "("
BIND_PAT@[49; 50)
NAME@[49; 50)
IDENT@[49; 50) "x"
R_PAREN@[50; 51)
WHITESPACE@[51; 52)
EQ@[52; 53)
WHITESPACE@[53; 54)
R_PAREN@[50; 51) ")"
WHITESPACE@[51; 52) " "
EQ@[52; 53) "="
WHITESPACE@[53; 54) " "
METHOD_CALL_EXPR@[54; 63)
PATH_EXPR@[54; 56)
PATH@[54; 56)
PATH_SEGMENT@[54; 56)
NAME_REF@[54; 56)
IDENT@[54; 56) "it"
DOT@[56; 57)
DOT@[56; 57) "."
NAME_REF@[57; 61)
IDENT@[57; 61) "next"
ARG_LIST@[61; 63)
L_PAREN@[61; 62)
R_PAREN@[62; 63)
WHITESPACE@[63; 64)
L_PAREN@[61; 62) "("
R_PAREN@[62; 63) ")"
WHITESPACE@[63; 64) " "
BLOCK@[64; 66)
L_CURLY@[64; 65)
R_CURLY@[65; 66)
SEMI@[66; 67)
WHITESPACE@[67; 68)
R_CURLY@[68; 69)
WHITESPACE@[69; 70)
L_CURLY@[64; 65) "{"
R_CURLY@[65; 66) "}"
SEMI@[66; 67) ";"
WHITESPACE@[67; 68) "\n"
R_CURLY@[68; 69) "}"
WHITESPACE@[69; 70) "\n"

View file

@ -1,55 +1,55 @@
SOURCE_FILE@[0; 70)
TYPE_ALIAS_DEF@[0; 14)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
FN_POINTER_TYPE@[9; 13)
FN_KW@[9; 11)
FN_KW@[9; 11) "fn"
PARAM_LIST@[11; 13)
L_PAREN@[11; 12)
R_PAREN@[12; 13)
SEMI@[13; 14)
WHITESPACE@[14; 15)
L_PAREN@[11; 12) "("
R_PAREN@[12; 13) ")"
SEMI@[13; 14) ";"
WHITESPACE@[14; 15) "\n"
TYPE_ALIAS_DEF@[15; 36)
TYPE_KW@[15; 19)
WHITESPACE@[19; 20)
TYPE_KW@[15; 19) "type"
WHITESPACE@[19; 20) " "
NAME@[20; 21)
IDENT@[20; 21) "B"
WHITESPACE@[21; 22)
EQ@[22; 23)
WHITESPACE@[23; 24)
WHITESPACE@[21; 22) " "
EQ@[22; 23) "="
WHITESPACE@[23; 24) " "
FN_POINTER_TYPE@[24; 35)
UNSAFE_KW@[24; 30)
WHITESPACE@[30; 31)
FN_KW@[31; 33)
UNSAFE_KW@[24; 30) "unsafe"
WHITESPACE@[30; 31) " "
FN_KW@[31; 33) "fn"
PARAM_LIST@[33; 35)
L_PAREN@[33; 34)
R_PAREN@[34; 35)
SEMI@[35; 36)
WHITESPACE@[36; 37)
L_PAREN@[33; 34) "("
R_PAREN@[34; 35) ")"
SEMI@[35; 36) ";"
WHITESPACE@[36; 37) "\n"
TYPE_ALIAS_DEF@[37; 69)
TYPE_KW@[37; 41)
WHITESPACE@[41; 42)
TYPE_KW@[37; 41) "type"
WHITESPACE@[41; 42) " "
NAME@[42; 43)
IDENT@[42; 43) "C"
WHITESPACE@[43; 44)
EQ@[44; 45)
WHITESPACE@[45; 46)
WHITESPACE@[43; 44) " "
EQ@[44; 45) "="
WHITESPACE@[45; 46) " "
FN_POINTER_TYPE@[46; 68)
UNSAFE_KW@[46; 52)
WHITESPACE@[52; 53)
UNSAFE_KW@[46; 52) "unsafe"
WHITESPACE@[52; 53) " "
ABI@[53; 63)
EXTERN_KW@[53; 59)
WHITESPACE@[59; 60)
STRING@[60; 63)
WHITESPACE@[63; 64)
FN_KW@[64; 66)
EXTERN_KW@[53; 59) "extern"
WHITESPACE@[59; 60) " "
STRING@[60; 63) "\"C\""
WHITESPACE@[63; 64) " "
FN_KW@[64; 66) "fn"
PARAM_LIST@[66; 68)
L_PAREN@[66; 67)
R_PAREN@[67; 68)
SEMI@[68; 69)
WHITESPACE@[69; 70)
L_PAREN@[66; 67) "("
R_PAREN@[67; 68) ")"
SEMI@[68; 69) ";"
WHITESPACE@[69; 70) "\n"

View file

@ -1,50 +1,50 @@
SOURCE_FILE@[0; 54)
TYPE_ALIAS_DEF@[0; 13)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
REFERENCE_TYPE@[9; 12)
AMP@[9; 10)
AMP@[9; 10) "&"
TUPLE_TYPE@[10; 12)
L_PAREN@[10; 11)
R_PAREN@[11; 12)
SEMI@[12; 13)
WHITESPACE@[13; 14)
L_PAREN@[10; 11) "("
R_PAREN@[11; 12) ")"
SEMI@[12; 13) ";"
WHITESPACE@[13; 14) "\n"
TYPE_ALIAS_DEF@[14; 35)
TYPE_KW@[14; 18)
WHITESPACE@[18; 19)
TYPE_KW@[14; 18) "type"
WHITESPACE@[18; 19) " "
NAME@[19; 20)
IDENT@[19; 20) "B"
WHITESPACE@[20; 21)
EQ@[21; 22)
WHITESPACE@[22; 23)
WHITESPACE@[20; 21) " "
EQ@[21; 22) "="
WHITESPACE@[22; 23) " "
REFERENCE_TYPE@[23; 34)
AMP@[23; 24)
LIFETIME@[24; 31) "'static"
WHITESPACE@[31; 32)
AMP@[23; 24) "&"
LIFETIME@[24; 31) "\'static"
WHITESPACE@[31; 32) " "
TUPLE_TYPE@[32; 34)
L_PAREN@[32; 33)
R_PAREN@[33; 34)
SEMI@[34; 35)
WHITESPACE@[35; 36)
L_PAREN@[32; 33) "("
R_PAREN@[33; 34) ")"
SEMI@[34; 35) ";"
WHITESPACE@[35; 36) "\n"
TYPE_ALIAS_DEF@[36; 53)
TYPE_KW@[36; 40)
WHITESPACE@[40; 41)
TYPE_KW@[36; 40) "type"
WHITESPACE@[40; 41) " "
NAME@[41; 42)
IDENT@[41; 42) "C"
WHITESPACE@[42; 43)
EQ@[43; 44)
WHITESPACE@[44; 45)
WHITESPACE@[42; 43) " "
EQ@[43; 44) "="
WHITESPACE@[44; 45) " "
REFERENCE_TYPE@[45; 52)
AMP@[45; 46)
MUT_KW@[46; 49)
WHITESPACE@[49; 50)
AMP@[45; 46) "&"
MUT_KW@[46; 49) "mut"
WHITESPACE@[49; 50) " "
TUPLE_TYPE@[50; 52)
L_PAREN@[50; 51)
R_PAREN@[51; 52)
SEMI@[52; 53)
WHITESPACE@[53; 54)
L_PAREN@[50; 51) "("
R_PAREN@[51; 52) ")"
SEMI@[52; 53) ";"
WHITESPACE@[53; 54) "\n"

View file

@ -1,53 +1,53 @@
SOURCE_FILE@[0; 102)
FN_DEF@[0; 101)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 101)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LOOP_EXPR@[15; 99)
LOOP_KW@[15; 19)
WHITESPACE@[19; 20)
LOOP_KW@[15; 19) "loop"
WHITESPACE@[19; 20) " "
BLOCK@[20; 99)
L_CURLY@[20; 21)
WHITESPACE@[21; 30)
L_CURLY@[20; 21) "{"
WHITESPACE@[21; 30) "\n "
EXPR_STMT@[30; 36)
BREAK_EXPR@[30; 35)
BREAK_KW@[30; 35)
SEMI@[35; 36)
WHITESPACE@[36; 45)
BREAK_KW@[30; 35) "break"
SEMI@[35; 36) ";"
WHITESPACE@[36; 45) "\n "
EXPR_STMT@[45; 54)
BREAK_EXPR@[45; 53)
BREAK_KW@[45; 50)
WHITESPACE@[50; 51)
LIFETIME@[51; 53) "'l"
SEMI@[53; 54)
WHITESPACE@[54; 63)
BREAK_KW@[45; 50) "break"
WHITESPACE@[50; 51) " "
LIFETIME@[51; 53) "\'l"
SEMI@[53; 54) ";"
WHITESPACE@[54; 63) "\n "
EXPR_STMT@[63; 72)
BREAK_EXPR@[63; 71)
BREAK_KW@[63; 68)
WHITESPACE@[68; 69)
BREAK_KW@[63; 68) "break"
WHITESPACE@[68; 69) " "
LITERAL@[69; 71)
INT_NUMBER@[69; 71) "92"
SEMI@[71; 72)
WHITESPACE@[72; 81)
SEMI@[71; 72) ";"
WHITESPACE@[72; 81) "\n "
EXPR_STMT@[81; 93)
BREAK_EXPR@[81; 92)
BREAK_KW@[81; 86)
WHITESPACE@[86; 87)
LIFETIME@[87; 89) "'l"
WHITESPACE@[89; 90)
BREAK_KW@[81; 86) "break"
WHITESPACE@[86; 87) " "
LIFETIME@[87; 89) "\'l"
WHITESPACE@[89; 90) " "
LITERAL@[90; 92)
INT_NUMBER@[90; 92) "92"
SEMI@[92; 93)
WHITESPACE@[93; 98)
R_CURLY@[98; 99)
WHITESPACE@[99; 100)
R_CURLY@[100; 101)
WHITESPACE@[101; 102)
SEMI@[92; 93) ";"
WHITESPACE@[93; 98) "\n "
R_CURLY@[98; 99) "}"
WHITESPACE@[99; 100) "\n"
R_CURLY@[100; 101) "}"
WHITESPACE@[101; 102) "\n"

View file

@ -1,21 +1,21 @@
SOURCE_FILE@[0; 30)
FN_DEF@[0; 29)
UNSAFE_KW@[0; 6)
WHITESPACE@[6; 7)
UNSAFE_KW@[0; 6) "unsafe"
WHITESPACE@[6; 7) " "
ABI@[7; 17)
EXTERN_KW@[7; 13)
WHITESPACE@[13; 14)
STRING@[14; 17)
WHITESPACE@[17; 18)
FN_KW@[18; 20)
WHITESPACE@[20; 21)
EXTERN_KW@[7; 13) "extern"
WHITESPACE@[13; 14) " "
STRING@[14; 17) "\"C\""
WHITESPACE@[17; 18) " "
FN_KW@[18; 20) "fn"
WHITESPACE@[20; 21) " "
NAME@[21; 24)
IDENT@[21; 24) "foo"
PARAM_LIST@[24; 26)
L_PAREN@[24; 25)
R_PAREN@[25; 26)
WHITESPACE@[26; 27)
L_PAREN@[24; 25) "("
R_PAREN@[25; 26) ")"
WHITESPACE@[26; 27) " "
BLOCK@[27; 29)
L_CURLY@[27; 28)
R_CURLY@[28; 29)
WHITESPACE@[29; 30)
L_CURLY@[27; 28) "{"
R_CURLY@[28; 29) "}"
WHITESPACE@[29; 30) "\n"

View file

@ -1,78 +1,78 @@
SOURCE_FILE@[0; 71)
TYPE_ALIAS_DEF@[0; 26)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "X"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
PATH_TYPE@[9; 25)
PATH@[9; 25)
PATH@[9; 17)
PATH_SEGMENT@[9; 17)
L_ANGLE@[9; 10)
L_ANGLE@[9; 10) "<"
PATH_TYPE@[10; 11)
PATH@[10; 11)
PATH_SEGMENT@[10; 11)
NAME_REF@[10; 11)
IDENT@[10; 11) "A"
WHITESPACE@[11; 12)
AS_KW@[12; 14)
WHITESPACE@[14; 15)
WHITESPACE@[11; 12) " "
AS_KW@[12; 14) "as"
WHITESPACE@[14; 15) " "
PATH_TYPE@[15; 16)
PATH@[15; 16)
PATH_SEGMENT@[15; 16)
NAME_REF@[15; 16)
IDENT@[15; 16) "B"
R_ANGLE@[16; 17)
COLONCOLON@[17; 19)
R_ANGLE@[16; 17) ">"
COLONCOLON@[17; 19) "::"
PATH_SEGMENT@[19; 25)
NAME_REF@[19; 25)
IDENT@[19; 25) "Output"
SEMI@[25; 26)
WHITESPACE@[26; 27)
SEMI@[25; 26) ";"
WHITESPACE@[26; 27) "\n"
FN_DEF@[27; 70)
FN_KW@[27; 29)
WHITESPACE@[29; 30)
FN_KW@[27; 29) "fn"
WHITESPACE@[29; 30) " "
NAME@[30; 33)
IDENT@[30; 33) "foo"
PARAM_LIST@[33; 35)
L_PAREN@[33; 34)
R_PAREN@[34; 35)
WHITESPACE@[35; 36)
L_PAREN@[33; 34) "("
R_PAREN@[34; 35) ")"
WHITESPACE@[35; 36) " "
BLOCK@[36; 70)
L_CURLY@[36; 37)
WHITESPACE@[37; 38)
L_CURLY@[36; 37) "{"
WHITESPACE@[37; 38) " "
EXPR_STMT@[38; 68)
CALL_EXPR@[38; 67)
PATH_EXPR@[38; 65)
PATH@[38; 65)
PATH@[38; 56)
PATH_SEGMENT@[38; 56)
L_ANGLE@[38; 39)
L_ANGLE@[38; 39) "<"
PATH_TYPE@[39; 44)
PATH@[39; 44)
PATH_SEGMENT@[39; 44)
NAME_REF@[39; 44)
IDENT@[39; 44) "usize"
WHITESPACE@[44; 45)
AS_KW@[45; 47)
WHITESPACE@[47; 48)
WHITESPACE@[44; 45) " "
AS_KW@[45; 47) "as"
WHITESPACE@[47; 48) " "
PATH_TYPE@[48; 55)
PATH@[48; 55)
PATH_SEGMENT@[48; 55)
NAME_REF@[48; 55)
IDENT@[48; 55) "Default"
R_ANGLE@[55; 56)
COLONCOLON@[56; 58)
R_ANGLE@[55; 56) ">"
COLONCOLON@[56; 58) "::"
PATH_SEGMENT@[58; 65)
NAME_REF@[58; 65)
IDENT@[58; 65) "default"
ARG_LIST@[65; 67)
L_PAREN@[65; 66)
R_PAREN@[66; 67)
SEMI@[67; 68)
WHITESPACE@[68; 69)
R_CURLY@[69; 70)
WHITESPACE@[70; 71)
L_PAREN@[65; 66) "("
R_PAREN@[66; 67) ")"
SEMI@[67; 68) ";"
WHITESPACE@[68; 69) " "
R_CURLY@[69; 70) "}"
WHITESPACE@[70; 71) "\n"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 21)
FN_DEF@[0; 20)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 20)
L_CURLY@[9; 10)
WHITESPACE@[10; 11)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 11) " "
EXPR_STMT@[11; 18)
INDEX_EXPR@[11; 17)
PATH_EXPR@[11; 13)
@ -18,11 +18,11 @@ SOURCE_FILE@[0; 21)
PATH_SEGMENT@[11; 13)
NAME_REF@[11; 13)
IDENT@[11; 13) "xs"
L_BRACK@[13; 14)
L_BRACK@[13; 14) "["
RANGE_EXPR@[14; 16)
DOTDOT@[14; 16)
R_BRACK@[16; 17)
SEMI@[17; 18)
WHITESPACE@[18; 19)
R_CURLY@[19; 20)
WHITESPACE@[20; 21)
DOTDOT@[14; 16) ".."
R_BRACK@[16; 17) "]"
SEMI@[17; 18) ";"
WHITESPACE@[18; 19) " "
R_CURLY@[19; 20) "}"
WHITESPACE@[20; 21) "\n"

View file

@ -1,40 +1,40 @@
SOURCE_FILE@[0; 36)
TYPE_ALIAS_DEF@[0; 35)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
PATH_TYPE@[9; 34)
PATH@[9; 34)
PATH_SEGMENT@[9; 34)
NAME_REF@[9; 10)
IDENT@[9; 10) "B"
TYPE_ARG_LIST@[10; 34)
L_ANGLE@[10; 11)
L_ANGLE@[10; 11) "<"
LIFETIME_ARG@[11; 18)
LIFETIME@[11; 18) "'static"
COMMA@[18; 19)
WHITESPACE@[19; 20)
LIFETIME@[11; 18) "\'static"
COMMA@[18; 19) ","
WHITESPACE@[19; 20) " "
TYPE_ARG@[20; 23)
PATH_TYPE@[20; 23)
PATH@[20; 23)
PATH_SEGMENT@[20; 23)
NAME_REF@[20; 23)
IDENT@[20; 23) "i32"
COMMA@[23; 24)
WHITESPACE@[24; 25)
COMMA@[23; 24) ","
WHITESPACE@[24; 25) " "
ASSOC_TYPE_ARG@[25; 33)
NAME_REF@[25; 29)
IDENT@[25; 29) "Item"
EQ@[29; 30)
EQ@[29; 30) "="
PATH_TYPE@[30; 33)
PATH@[30; 33)
PATH_SEGMENT@[30; 33)
NAME_REF@[30; 33)
IDENT@[30; 33) "u64"
R_ANGLE@[33; 34)
SEMI@[34; 35)
WHITESPACE@[35; 36)
R_ANGLE@[33; 34) ">"
SEMI@[34; 35) ";"
WHITESPACE@[35; 36) "\n"

View file

@ -1,62 +1,62 @@
SOURCE_FILE@[0; 71)
FN_DEF@[0; 19)
VISIBILITY@[0; 5)
CRATE_KW@[0; 5)
WHITESPACE@[5; 6)
FN_KW@[6; 8)
WHITESPACE@[8; 9)
CRATE_KW@[0; 5) "crate"
WHITESPACE@[5; 6) " "
FN_KW@[6; 8) "fn"
WHITESPACE@[8; 9) " "
NAME@[9; 13)
IDENT@[9; 13) "main"
PARAM_LIST@[13; 15)
L_PAREN@[13; 14)
R_PAREN@[14; 15)
WHITESPACE@[15; 16)
L_PAREN@[13; 14) "("
R_PAREN@[14; 15) ")"
WHITESPACE@[15; 16) " "
BLOCK@[16; 19)
L_CURLY@[16; 17)
WHITESPACE@[17; 18)
R_CURLY@[18; 19)
WHITESPACE@[19; 20)
L_CURLY@[16; 17) "{"
WHITESPACE@[17; 18) " "
R_CURLY@[18; 19) "}"
WHITESPACE@[19; 20) "\n"
STRUCT_DEF@[20; 49)
STRUCT_KW@[20; 26)
WHITESPACE@[26; 27)
STRUCT_KW@[20; 26) "struct"
WHITESPACE@[26; 27) " "
NAME@[27; 28)
IDENT@[27; 28) "S"
WHITESPACE@[28; 29)
WHITESPACE@[28; 29) " "
NAMED_FIELD_DEF_LIST@[29; 49)
L_CURLY@[29; 30)
WHITESPACE@[30; 31)
L_CURLY@[29; 30) "{"
WHITESPACE@[30; 31) " "
NAMED_FIELD_DEF@[31; 47)
VISIBILITY@[31; 36)
CRATE_KW@[31; 36)
WHITESPACE@[36; 37)
CRATE_KW@[31; 36) "crate"
WHITESPACE@[36; 37) " "
NAME@[37; 42)
IDENT@[37; 42) "field"
COLON@[42; 43)
WHITESPACE@[43; 44)
COLON@[42; 43) ":"
WHITESPACE@[43; 44) " "
PATH_TYPE@[44; 47)
PATH@[44; 47)
PATH_SEGMENT@[44; 47)
NAME_REF@[44; 47)
IDENT@[44; 47) "u32"
WHITESPACE@[47; 48)
R_CURLY@[48; 49)
WHITESPACE@[49; 50)
WHITESPACE@[47; 48) " "
R_CURLY@[48; 49) "}"
WHITESPACE@[49; 50) "\n"
STRUCT_DEF@[50; 70)
STRUCT_KW@[50; 56)
WHITESPACE@[56; 57)
STRUCT_KW@[50; 56) "struct"
WHITESPACE@[56; 57) " "
NAME@[57; 58)
IDENT@[57; 58) "T"
POS_FIELD_DEF_LIST@[58; 69)
L_PAREN@[58; 59)
L_PAREN@[58; 59) "("
POS_FIELD_DEF@[59; 68)
VISIBILITY@[59; 64)
CRATE_KW@[59; 64)
WHITESPACE@[64; 65)
CRATE_KW@[59; 64) "crate"
WHITESPACE@[64; 65) " "
PATH_TYPE@[65; 68)
PATH@[65; 68)
PATH_SEGMENT@[65; 68)
NAME_REF@[65; 68)
IDENT@[65; 68) "u32"
R_PAREN@[68; 69)
SEMI@[69; 70)
WHITESPACE@[70; 71)
R_PAREN@[68; 69) ")"
SEMI@[69; 70) ";"
WHITESPACE@[70; 71) "\n"

View file

@ -1,17 +1,17 @@
SOURCE_FILE@[0; 101)
TRAIT_DEF@[0; 41)
TRAIT_KW@[0; 5)
WHITESPACE@[5; 6)
TRAIT_KW@[0; 5) "trait"
WHITESPACE@[5; 6) " "
NAME@[6; 7)
IDENT@[6; 7) "T"
TYPE_PARAM_LIST@[7; 10)
L_ANGLE@[7; 8)
L_ANGLE@[7; 8) "<"
TYPE_PARAM@[8; 9)
NAME@[8; 9)
IDENT@[8; 9) "U"
R_ANGLE@[9; 10)
COLON@[10; 11)
WHITESPACE@[11; 12)
R_ANGLE@[9; 10) ">"
COLON@[10; 11) ":"
WHITESPACE@[11; 12) " "
TYPE_BOUND_LIST@[12; 24)
TYPE_BOUND@[12; 16)
PATH_TYPE@[12; 16)
@ -19,27 +19,27 @@ SOURCE_FILE@[0; 101)
PATH_SEGMENT@[12; 16)
NAME_REF@[12; 16)
IDENT@[12; 16) "Hash"
WHITESPACE@[16; 17)
PLUS@[17; 18)
WHITESPACE@[18; 19)
WHITESPACE@[16; 17) " "
PLUS@[17; 18) "+"
WHITESPACE@[18; 19) " "
TYPE_BOUND@[19; 24)
PATH_TYPE@[19; 24)
PATH@[19; 24)
PATH_SEGMENT@[19; 24)
NAME_REF@[19; 24)
IDENT@[19; 24) "Clone"
WHITESPACE@[24; 25)
WHITESPACE@[24; 25) " "
WHERE_CLAUSE@[25; 38)
WHERE_KW@[25; 30)
WHITESPACE@[30; 31)
WHERE_KW@[25; 30) "where"
WHITESPACE@[30; 31) " "
WHERE_PRED@[31; 38)
PATH_TYPE@[31; 32)
PATH@[31; 32)
PATH_SEGMENT@[31; 32)
NAME_REF@[31; 32)
IDENT@[31; 32) "U"
COLON@[32; 33)
WHITESPACE@[33; 34)
COLON@[32; 33) ":"
WHITESPACE@[33; 34) " "
TYPE_BOUND_LIST@[34; 38)
TYPE_BOUND@[34; 38)
PATH_TYPE@[34; 38)
@ -47,23 +47,23 @@ SOURCE_FILE@[0; 101)
PATH_SEGMENT@[34; 38)
NAME_REF@[34; 38)
IDENT@[34; 38) "Copy"
WHITESPACE@[38; 39)
WHITESPACE@[38; 39) " "
ITEM_LIST@[39; 41)
L_CURLY@[39; 40)
R_CURLY@[40; 41)
WHITESPACE@[41; 42)
L_CURLY@[39; 40) "{"
R_CURLY@[40; 41) "}"
WHITESPACE@[41; 42) "\n"
TRAIT_DEF@[42; 100)
TRAIT_KW@[42; 47)
WHITESPACE@[47; 48)
TRAIT_KW@[42; 47) "trait"
WHITESPACE@[47; 48) " "
NAME@[48; 49)
IDENT@[48; 49) "X"
TYPE_PARAM_LIST@[49; 69)
L_ANGLE@[49; 50)
L_ANGLE@[49; 50) "<"
TYPE_PARAM@[50; 68)
NAME@[50; 51)
IDENT@[50; 51) "U"
COLON@[51; 52)
WHITESPACE@[52; 53)
COLON@[51; 52) ":"
WHITESPACE@[52; 53) " "
TYPE_BOUND_LIST@[53; 68)
TYPE_BOUND@[53; 58)
PATH_TYPE@[53; 58)
@ -71,18 +71,18 @@ SOURCE_FILE@[0; 101)
PATH_SEGMENT@[53; 58)
NAME_REF@[53; 58)
IDENT@[53; 58) "Debug"
WHITESPACE@[58; 59)
PLUS@[59; 60)
WHITESPACE@[60; 61)
WHITESPACE@[58; 59) " "
PLUS@[59; 60) "+"
WHITESPACE@[60; 61) " "
TYPE_BOUND@[61; 68)
PATH_TYPE@[61; 68)
PATH@[61; 68)
PATH_SEGMENT@[61; 68)
NAME_REF@[61; 68)
IDENT@[61; 68) "Display"
R_ANGLE@[68; 69)
COLON@[69; 70)
WHITESPACE@[70; 71)
R_ANGLE@[68; 69) ">"
COLON@[69; 70) ":"
WHITESPACE@[70; 71) " "
TYPE_BOUND_LIST@[71; 83)
TYPE_BOUND@[71; 75)
PATH_TYPE@[71; 75)
@ -90,27 +90,27 @@ SOURCE_FILE@[0; 101)
PATH_SEGMENT@[71; 75)
NAME_REF@[71; 75)
IDENT@[71; 75) "Hash"
WHITESPACE@[75; 76)
PLUS@[76; 77)
WHITESPACE@[77; 78)
WHITESPACE@[75; 76) " "
PLUS@[76; 77) "+"
WHITESPACE@[77; 78) " "
TYPE_BOUND@[78; 83)
PATH_TYPE@[78; 83)
PATH@[78; 83)
PATH_SEGMENT@[78; 83)
NAME_REF@[78; 83)
IDENT@[78; 83) "Clone"
WHITESPACE@[83; 84)
WHITESPACE@[83; 84) " "
WHERE_CLAUSE@[84; 97)
WHERE_KW@[84; 89)
WHITESPACE@[89; 90)
WHERE_KW@[84; 89) "where"
WHITESPACE@[89; 90) " "
WHERE_PRED@[90; 97)
PATH_TYPE@[90; 91)
PATH@[90; 91)
PATH_SEGMENT@[90; 91)
NAME_REF@[90; 91)
IDENT@[90; 91) "U"
COLON@[91; 92)
WHITESPACE@[92; 93)
COLON@[91; 92) ":"
WHITESPACE@[92; 93) " "
TYPE_BOUND_LIST@[93; 97)
TYPE_BOUND@[93; 97)
PATH_TYPE@[93; 97)
@ -118,8 +118,8 @@ SOURCE_FILE@[0; 101)
PATH_SEGMENT@[93; 97)
NAME_REF@[93; 97)
IDENT@[93; 97) "Copy"
WHITESPACE@[97; 98)
WHITESPACE@[97; 98) " "
ITEM_LIST@[98; 100)
L_CURLY@[98; 99)
R_CURLY@[99; 100)
WHITESPACE@[100; 101)
L_CURLY@[98; 99) "{"
R_CURLY@[99; 100) "}"
WHITESPACE@[100; 101) "\n"

View file

@ -1,24 +1,24 @@
SOURCE_FILE@[0; 118)
FN_DEF@[0; 117)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 117)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 27)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
PLACEHOLDER_PAT@[19; 20)
UNDERSCORE@[19; 20)
WHITESPACE@[20; 21)
EQ@[21; 22)
WHITESPACE@[22; 23)
UNDERSCORE@[19; 20) "_"
WHITESPACE@[20; 21) " "
EQ@[21; 22) "="
WHITESPACE@[22; 23) " "
CALL_EXPR@[23; 26)
PATH_EXPR@[23; 24)
PATH@[23; 24)
@ -26,18 +26,18 @@ SOURCE_FILE@[0; 118)
NAME_REF@[23; 24)
IDENT@[23; 24) "f"
ARG_LIST@[24; 26)
L_PAREN@[24; 25)
R_PAREN@[25; 26)
SEMI@[26; 27)
WHITESPACE@[27; 32)
L_PAREN@[24; 25) "("
R_PAREN@[25; 26) ")"
SEMI@[26; 27) ";"
WHITESPACE@[27; 32) "\n "
LET_STMT@[32; 54)
LET_KW@[32; 35)
WHITESPACE@[35; 36)
LET_KW@[32; 35) "let"
WHITESPACE@[35; 36) " "
PLACEHOLDER_PAT@[36; 37)
UNDERSCORE@[36; 37)
WHITESPACE@[37; 38)
EQ@[38; 39)
WHITESPACE@[39; 40)
UNDERSCORE@[36; 37) "_"
WHITESPACE@[37; 38) " "
EQ@[38; 39) "="
WHITESPACE@[39; 40) " "
CALL_EXPR@[40; 53)
CALL_EXPR@[40; 46)
CALL_EXPR@[40; 43)
@ -47,33 +47,33 @@ SOURCE_FILE@[0; 118)
NAME_REF@[40; 41)
IDENT@[40; 41) "f"
ARG_LIST@[41; 43)
L_PAREN@[41; 42)
R_PAREN@[42; 43)
L_PAREN@[41; 42) "("
R_PAREN@[42; 43) ")"
ARG_LIST@[43; 46)
L_PAREN@[43; 44)
L_PAREN@[43; 44) "("
LITERAL@[44; 45)
INT_NUMBER@[44; 45) "1"
R_PAREN@[45; 46)
R_PAREN@[45; 46) ")"
ARG_LIST@[46; 53)
L_PAREN@[46; 47)
L_PAREN@[46; 47) "("
LITERAL@[47; 48)
INT_NUMBER@[47; 48) "1"
COMMA@[48; 49)
WHITESPACE@[49; 50)
COMMA@[48; 49) ","
WHITESPACE@[49; 50) " "
LITERAL@[50; 51)
INT_NUMBER@[50; 51) "2"
COMMA@[51; 52)
R_PAREN@[52; 53)
SEMI@[53; 54)
WHITESPACE@[54; 59)
COMMA@[51; 52) ","
R_PAREN@[52; 53) ")"
SEMI@[53; 54) ";"
WHITESPACE@[54; 59) "\n "
LET_STMT@[59; 84)
LET_KW@[59; 62)
WHITESPACE@[62; 63)
LET_KW@[59; 62) "let"
WHITESPACE@[62; 63) " "
PLACEHOLDER_PAT@[63; 64)
UNDERSCORE@[63; 64)
WHITESPACE@[64; 65)
EQ@[65; 66)
WHITESPACE@[66; 67)
UNDERSCORE@[63; 64) "_"
WHITESPACE@[64; 65) " "
EQ@[65; 66) "="
WHITESPACE@[66; 67) " "
CALL_EXPR@[67; 83)
PATH_EXPR@[67; 68)
PATH@[67; 68)
@ -81,29 +81,29 @@ SOURCE_FILE@[0; 118)
NAME_REF@[67; 68)
IDENT@[67; 68) "f"
ARG_LIST@[68; 83)
L_PAREN@[68; 69)
L_PAREN@[68; 69) "("
CALL_EXPR@[69; 82)
PATH_EXPR@[69; 80)
PATH@[69; 80)
PATH@[69; 74)
PATH_SEGMENT@[69; 74)
L_ANGLE@[69; 70)
L_ANGLE@[69; 70) "<"
PATH_TYPE@[70; 73)
PATH@[70; 73)
PATH_SEGMENT@[70; 73)
NAME_REF@[70; 73)
IDENT@[70; 73) "Foo"
R_ANGLE@[73; 74)
COLONCOLON@[74; 76)
R_ANGLE@[73; 74) ">"
COLONCOLON@[74; 76) "::"
PATH_SEGMENT@[76; 80)
NAME_REF@[76; 80)
IDENT@[76; 80) "func"
ARG_LIST@[80; 82)
L_PAREN@[80; 81)
R_PAREN@[81; 82)
R_PAREN@[82; 83)
SEMI@[83; 84)
WHITESPACE@[84; 89)
L_PAREN@[80; 81) "("
R_PAREN@[81; 82) ")"
R_PAREN@[82; 83) ")"
SEMI@[83; 84) ";"
WHITESPACE@[84; 89) "\n "
EXPR_STMT@[89; 115)
CALL_EXPR@[89; 114)
PATH_EXPR@[89; 90)
@ -112,36 +112,36 @@ SOURCE_FILE@[0; 118)
NAME_REF@[89; 90)
IDENT@[89; 90) "f"
ARG_LIST@[90; 114)
L_PAREN@[90; 91)
L_PAREN@[90; 91) "("
CALL_EXPR@[91; 113)
PATH_EXPR@[91; 111)
PATH@[91; 111)
PATH@[91; 105)
PATH_SEGMENT@[91; 105)
L_ANGLE@[91; 92)
L_ANGLE@[91; 92) "<"
PATH_TYPE@[92; 95)
PATH@[92; 95)
PATH_SEGMENT@[92; 95)
NAME_REF@[92; 95)
IDENT@[92; 95) "Foo"
WHITESPACE@[95; 96)
AS_KW@[96; 98)
WHITESPACE@[98; 99)
WHITESPACE@[95; 96) " "
AS_KW@[96; 98) "as"
WHITESPACE@[98; 99) " "
PATH_TYPE@[99; 104)
PATH@[99; 104)
PATH_SEGMENT@[99; 104)
NAME_REF@[99; 104)
IDENT@[99; 104) "Trait"
R_ANGLE@[104; 105)
COLONCOLON@[105; 107)
R_ANGLE@[104; 105) ">"
COLONCOLON@[105; 107) "::"
PATH_SEGMENT@[107; 111)
NAME_REF@[107; 111)
IDENT@[107; 111) "func"
ARG_LIST@[111; 113)
L_PAREN@[111; 112)
R_PAREN@[112; 113)
R_PAREN@[113; 114)
SEMI@[114; 115)
WHITESPACE@[115; 116)
R_CURLY@[116; 117)
WHITESPACE@[117; 118)
L_PAREN@[111; 112) "("
R_PAREN@[112; 113) ")"
R_PAREN@[113; 114) ")"
SEMI@[114; 115) ";"
WHITESPACE@[115; 116) "\n"
R_CURLY@[116; 117) "}"
WHITESPACE@[117; 118) "\n"

View file

@ -1,73 +1,73 @@
SOURCE_FILE@[0; 198)
USE_ITEM@[0; 28)
USE_KW@[0; 3)
WHITESPACE@[3; 4)
USE_KW@[0; 3) "use"
WHITESPACE@[3; 4) " "
USE_TREE@[4; 27)
PATH@[4; 14)
PATH@[4; 8)
PATH_SEGMENT@[4; 8)
NAME_REF@[4; 8)
IDENT@[4; 8) "some"
COLONCOLON@[8; 10)
COLONCOLON@[8; 10) "::"
PATH_SEGMENT@[10; 14)
NAME_REF@[10; 14)
IDENT@[10; 14) "path"
WHITESPACE@[14; 15)
WHITESPACE@[14; 15) " "
ALIAS@[15; 27)
AS_KW@[15; 17)
WHITESPACE@[17; 18)
AS_KW@[15; 17) "as"
WHITESPACE@[17; 18) " "
NAME@[18; 27)
IDENT@[18; 27) "some_name"
SEMI@[27; 28)
WHITESPACE@[28; 29)
SEMI@[27; 28) ";"
WHITESPACE@[28; 29) "\n"
USE_ITEM@[29; 181)
USE_KW@[29; 32)
WHITESPACE@[32; 33)
USE_KW@[29; 32) "use"
WHITESPACE@[32; 33) " "
USE_TREE@[33; 180)
PATH@[33; 37)
PATH_SEGMENT@[33; 37)
NAME_REF@[33; 37)
IDENT@[33; 37) "some"
COLONCOLON@[37; 39)
COLONCOLON@[37; 39) "::"
USE_TREE_LIST@[39; 180)
L_CURLY@[39; 40)
WHITESPACE@[40; 42)
L_CURLY@[39; 40) "{"
WHITESPACE@[40; 42) "\n "
USE_TREE@[42; 72)
PATH@[42; 53)
PATH@[42; 47)
PATH_SEGMENT@[42; 47)
NAME_REF@[42; 47)
IDENT@[42; 47) "other"
COLONCOLON@[47; 49)
COLONCOLON@[47; 49) "::"
PATH_SEGMENT@[49; 53)
NAME_REF@[49; 53)
IDENT@[49; 53) "path"
WHITESPACE@[53; 54)
WHITESPACE@[53; 54) " "
ALIAS@[54; 72)
AS_KW@[54; 56)
WHITESPACE@[56; 57)
AS_KW@[54; 56) "as"
WHITESPACE@[56; 57) " "
NAME@[57; 72)
IDENT@[57; 72) "some_other_name"
COMMA@[72; 73)
WHITESPACE@[73; 75)
COMMA@[72; 73) ","
WHITESPACE@[73; 75) "\n "
USE_TREE@[75; 108)
PATH@[75; 90)
PATH@[75; 84)
PATH_SEGMENT@[75; 84)
NAME_REF@[75; 84)
IDENT@[75; 84) "different"
COLONCOLON@[84; 86)
COLONCOLON@[84; 86) "::"
PATH_SEGMENT@[86; 90)
NAME_REF@[86; 90)
IDENT@[86; 90) "path"
WHITESPACE@[90; 91)
WHITESPACE@[90; 91) " "
ALIAS@[91; 108)
AS_KW@[91; 93)
WHITESPACE@[93; 94)
AS_KW@[91; 93) "as"
WHITESPACE@[93; 94) " "
NAME@[94; 108)
IDENT@[94; 108) "different_name"
COMMA@[108; 109)
WHITESPACE@[109; 111)
COMMA@[108; 109) ","
WHITESPACE@[109; 111) "\n "
USE_TREE@[111; 129)
PATH@[111; 129)
PATH@[111; 123)
@ -75,16 +75,16 @@ SOURCE_FILE@[0; 198)
PATH_SEGMENT@[111; 114)
NAME_REF@[111; 114)
IDENT@[111; 114) "yet"
COLONCOLON@[114; 116)
COLONCOLON@[114; 116) "::"
PATH_SEGMENT@[116; 123)
NAME_REF@[116; 123)
IDENT@[116; 123) "another"
COLONCOLON@[123; 125)
COLONCOLON@[123; 125) "::"
PATH_SEGMENT@[125; 129)
NAME_REF@[125; 129)
IDENT@[125; 129) "path"
COMMA@[129; 130)
WHITESPACE@[130; 132)
COMMA@[129; 130) ","
WHITESPACE@[130; 132) "\n "
USE_TREE@[132; 178)
PATH@[132; 175)
PATH@[132; 164)
@ -95,44 +95,44 @@ SOURCE_FILE@[0; 198)
PATH_SEGMENT@[132; 139)
NAME_REF@[132; 139)
IDENT@[132; 139) "running"
COLONCOLON@[139; 141)
COLONCOLON@[139; 141) "::"
PATH_SEGMENT@[141; 144)
NAME_REF@[141; 144)
IDENT@[141; 144) "out"
COLONCOLON@[144; 146)
COLONCOLON@[144; 146) "::"
PATH_SEGMENT@[146; 148)
NAME_REF@[146; 148)
IDENT@[146; 148) "of"
COLONCOLON@[148; 150)
COLONCOLON@[148; 150) "::"
PATH_SEGMENT@[150; 158)
NAME_REF@[150; 158)
IDENT@[150; 158) "synonyms"
COLONCOLON@[158; 160)
COLONCOLON@[158; 160) "::"
PATH_SEGMENT@[160; 164)
NAME_REF@[160; 164)
IDENT@[160; 164) "for_"
COLONCOLON@[164; 166)
COLONCOLON@[164; 166) "::"
PATH_SEGMENT@[166; 175)
NAME_REF@[166; 175)
IDENT@[166; 175) "different"
COLONCOLON@[175; 177)
STAR@[177; 178)
WHITESPACE@[178; 179)
R_CURLY@[179; 180)
SEMI@[180; 181)
WHITESPACE@[181; 182)
COLONCOLON@[175; 177) "::"
STAR@[177; 178) "*"
WHITESPACE@[178; 179) "\n"
R_CURLY@[179; 180) "}"
SEMI@[180; 181) ";"
WHITESPACE@[181; 182) "\n"
USE_ITEM@[182; 197)
USE_KW@[182; 185)
WHITESPACE@[185; 186)
USE_KW@[182; 185) "use"
WHITESPACE@[185; 186) " "
USE_TREE@[186; 196)
PATH@[186; 191)
PATH_SEGMENT@[186; 191)
NAME_REF@[186; 191)
IDENT@[186; 191) "Trait"
WHITESPACE@[191; 192)
WHITESPACE@[191; 192) " "
ALIAS@[192; 196)
AS_KW@[192; 194)
WHITESPACE@[194; 195)
UNDERSCORE@[195; 196)
SEMI@[196; 197)
WHITESPACE@[197; 198)
AS_KW@[192; 194) "as"
WHITESPACE@[194; 195) " "
UNDERSCORE@[195; 196) "_"
SEMI@[196; 197) ";"
WHITESPACE@[197; 198) "\n"

View file

@ -1,28 +1,28 @@
SOURCE_FILE@[0; 21)
FN_DEF@[0; 20)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 4)
IDENT@[3; 4) "a"
PARAM_LIST@[4; 6)
L_PAREN@[4; 5)
R_PAREN@[5; 6)
WHITESPACE@[6; 7)
L_PAREN@[4; 5) "("
R_PAREN@[5; 6) ")"
WHITESPACE@[6; 7) " "
BLOCK@[7; 20)
L_CURLY@[7; 8)
WHITESPACE@[8; 9)
L_CURLY@[7; 8) "{"
WHITESPACE@[8; 9) " "
FN_DEF@[9; 18)
FN_KW@[9; 11)
WHITESPACE@[11; 12)
FN_KW@[9; 11) "fn"
WHITESPACE@[11; 12) " "
NAME@[12; 13)
IDENT@[12; 13) "b"
PARAM_LIST@[13; 15)
L_PAREN@[13; 14)
R_PAREN@[14; 15)
WHITESPACE@[15; 16)
L_PAREN@[13; 14) "("
R_PAREN@[14; 15) ")"
WHITESPACE@[15; 16) " "
BLOCK@[16; 18)
L_CURLY@[16; 17)
R_CURLY@[17; 18)
WHITESPACE@[18; 19)
R_CURLY@[19; 20)
WHITESPACE@[20; 21)
L_CURLY@[16; 17) "{"
R_CURLY@[17; 18) "}"
WHITESPACE@[18; 19) " "
R_CURLY@[19; 20) "}"
WHITESPACE@[20; 21) "\n"

View file

@ -1,16 +1,16 @@
SOURCE_FILE@[0; 35)
FN_DEF@[0; 34)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
TYPE_PARAM_LIST@[6; 30)
L_ANGLE@[6; 7)
L_ANGLE@[6; 7) "<"
TYPE_PARAM@[7; 29)
NAME@[7; 8)
IDENT@[7; 8) "F"
COLON@[8; 9)
WHITESPACE@[9; 10)
COLON@[8; 9) ":"
WHITESPACE@[9; 10) " "
TYPE_BOUND_LIST@[10; 29)
TYPE_BOUND@[10; 29)
PATH_TYPE@[10; 29)
@ -19,28 +19,28 @@ SOURCE_FILE@[0; 35)
NAME_REF@[10; 15)
IDENT@[10; 15) "FnMut"
PARAM_LIST@[15; 29)
L_PAREN@[15; 16)
L_PAREN@[15; 16) "("
PARAM@[16; 28)
REFERENCE_TYPE@[16; 28)
AMP@[16; 17)
MUT_KW@[17; 20)
WHITESPACE@[20; 21)
AMP@[16; 17) "&"
MUT_KW@[17; 20) "mut"
WHITESPACE@[20; 21) " "
PATH_TYPE@[21; 28)
PATH@[21; 28)
PATH_SEGMENT@[21; 28)
NAME_REF@[21; 24)
IDENT@[21; 24) "Foo"
TYPE_ARG_LIST@[24; 28)
L_ANGLE@[24; 25)
L_ANGLE@[24; 25) "<"
LIFETIME_ARG@[25; 27)
LIFETIME@[25; 27) "'a"
R_ANGLE@[27; 28)
R_PAREN@[28; 29)
R_ANGLE@[29; 30)
LIFETIME@[25; 27) "\'a"
R_ANGLE@[27; 28) ">"
R_PAREN@[28; 29) ")"
R_ANGLE@[29; 30) ">"
PARAM_LIST@[30; 32)
L_PAREN@[30; 31)
R_PAREN@[31; 32)
L_PAREN@[30; 31) "("
R_PAREN@[31; 32) ")"
BLOCK@[32; 34)
L_CURLY@[32; 33)
R_CURLY@[33; 34)
WHITESPACE@[34; 35)
L_CURLY@[32; 33) "{"
R_CURLY@[33; 34) "}"
WHITESPACE@[34; 35) "\n"

View file

@ -1,20 +1,20 @@
SOURCE_FILE@[0; 17)
TYPE_ALIAS_DEF@[0; 16)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
TUPLE_TYPE@[9; 15)
L_PAREN@[9; 10)
L_PAREN@[9; 10) "("
PATH_TYPE@[10; 13)
PATH@[10; 13)
PATH_SEGMENT@[10; 13)
NAME_REF@[10; 13)
IDENT@[10; 13) "i32"
COMMA@[13; 14)
R_PAREN@[14; 15)
SEMI@[15; 16)
WHITESPACE@[16; 17)
COMMA@[13; 14) ","
R_PAREN@[14; 15) ")"
SEMI@[15; 16) ";"
WHITESPACE@[16; 17) "\n"

View file

@ -1,18 +1,18 @@
SOURCE_FILE@[0; 27)
IMPL_BLOCK@[0; 26)
UNSAFE_KW@[0; 6)
WHITESPACE@[6; 7)
DEFAULT_KW@[7; 14)
WHITESPACE@[14; 15)
IMPL_KW@[15; 19)
WHITESPACE@[19; 20)
UNSAFE_KW@[0; 6) "unsafe"
WHITESPACE@[6; 7) " "
DEFAULT_KW@[7; 14) "default"
WHITESPACE@[14; 15) " "
IMPL_KW@[15; 19) "impl"
WHITESPACE@[19; 20) " "
PATH_TYPE@[20; 23)
PATH@[20; 23)
PATH_SEGMENT@[20; 23)
NAME_REF@[20; 23)
IDENT@[20; 23) "Foo"
WHITESPACE@[23; 24)
WHITESPACE@[23; 24) " "
ITEM_LIST@[24; 26)
L_CURLY@[24; 25)
R_CURLY@[25; 26)
WHITESPACE@[26; 27)
L_CURLY@[24; 25) "{"
R_CURLY@[25; 26) "}"
WHITESPACE@[26; 27) "\n"

View file

@ -1,23 +1,23 @@
SOURCE_FILE@[0; 58)
FN_DEF@[0; 26)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
RET_TYPE@[9; 23)
THIN_ARROW@[9; 11)
WHITESPACE@[11; 12)
THIN_ARROW@[9; 11) "->"
WHITESPACE@[11; 12) " "
PATH_TYPE@[12; 23)
PATH@[12; 23)
PATH_SEGMENT@[12; 23)
NAME_REF@[12; 15)
IDENT@[12; 15) "Box"
TYPE_ARG_LIST@[15; 23)
L_ANGLE@[15; 16)
L_ANGLE@[15; 16) "<"
TYPE_ARG@[16; 22)
DYN_TRAIT_TYPE@[16; 22)
TYPE_BOUND_LIST@[16; 22)
@ -27,40 +27,40 @@ SOURCE_FILE@[0; 58)
PATH_SEGMENT@[16; 17)
NAME_REF@[16; 17)
IDENT@[16; 17) "T"
WHITESPACE@[17; 18)
PLUS@[18; 19)
WHITESPACE@[19; 20)
WHITESPACE@[17; 18) " "
PLUS@[18; 19) "+"
WHITESPACE@[19; 20) " "
TYPE_BOUND@[20; 22)
LIFETIME@[20; 22) "'f"
R_ANGLE@[22; 23)
WHITESPACE@[23; 24)
LIFETIME@[20; 22) "\'f"
R_ANGLE@[22; 23) ">"
WHITESPACE@[23; 24) " "
BLOCK@[24; 26)
L_CURLY@[24; 25)
R_CURLY@[25; 26)
WHITESPACE@[26; 27)
L_CURLY@[24; 25) "{"
R_CURLY@[25; 26) "}"
WHITESPACE@[26; 27) "\n"
FN_DEF@[27; 57)
FN_KW@[27; 29)
WHITESPACE@[29; 30)
FN_KW@[27; 29) "fn"
WHITESPACE@[29; 30) " "
NAME@[30; 33)
IDENT@[30; 33) "foo"
PARAM_LIST@[33; 35)
L_PAREN@[33; 34)
R_PAREN@[34; 35)
WHITESPACE@[35; 36)
L_PAREN@[33; 34) "("
R_PAREN@[34; 35) ")"
WHITESPACE@[35; 36) " "
RET_TYPE@[36; 54)
THIN_ARROW@[36; 38)
WHITESPACE@[38; 39)
THIN_ARROW@[36; 38) "->"
WHITESPACE@[38; 39) " "
PATH_TYPE@[39; 54)
PATH@[39; 54)
PATH_SEGMENT@[39; 54)
NAME_REF@[39; 42)
IDENT@[39; 42) "Box"
TYPE_ARG_LIST@[42; 54)
L_ANGLE@[42; 43)
L_ANGLE@[42; 43) "<"
TYPE_ARG@[43; 53)
DYN_TRAIT_TYPE@[43; 53)
DYN_KW@[43; 46)
WHITESPACE@[46; 47)
DYN_KW@[43; 46) "dyn"
WHITESPACE@[46; 47) " "
TYPE_BOUND_LIST@[47; 53)
TYPE_BOUND@[47; 48)
PATH_TYPE@[47; 48)
@ -68,14 +68,14 @@ SOURCE_FILE@[0; 58)
PATH_SEGMENT@[47; 48)
NAME_REF@[47; 48)
IDENT@[47; 48) "T"
WHITESPACE@[48; 49)
PLUS@[49; 50)
WHITESPACE@[50; 51)
WHITESPACE@[48; 49) " "
PLUS@[49; 50) "+"
WHITESPACE@[50; 51) " "
TYPE_BOUND@[51; 53)
LIFETIME@[51; 53) "'f"
R_ANGLE@[53; 54)
WHITESPACE@[54; 55)
LIFETIME@[51; 53) "\'f"
R_ANGLE@[53; 54) ">"
WHITESPACE@[54; 55) " "
BLOCK@[55; 57)
L_CURLY@[55; 56)
R_CURLY@[56; 57)
WHITESPACE@[57; 58)
L_CURLY@[55; 56) "{"
R_CURLY@[56; 57) "}"
WHITESPACE@[57; 58) "\n"

View file

@ -1,71 +1,71 @@
SOURCE_FILE@[0; 77)
FN_DEF@[0; 76)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 76)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 21)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
BIND_PAT@[19; 20)
NAME@[19; 20)
IDENT@[19; 20) "a"
SEMI@[20; 21)
WHITESPACE@[21; 26)
SEMI@[20; 21) ";"
WHITESPACE@[21; 26) "\n "
LET_STMT@[26; 37)
LET_KW@[26; 29)
WHITESPACE@[29; 30)
LET_KW@[26; 29) "let"
WHITESPACE@[29; 30) " "
BIND_PAT@[30; 31)
NAME@[30; 31)
IDENT@[30; 31) "b"
COLON@[31; 32)
WHITESPACE@[32; 33)
COLON@[31; 32) ":"
WHITESPACE@[32; 33) " "
PATH_TYPE@[33; 36)
PATH@[33; 36)
PATH_SEGMENT@[33; 36)
NAME_REF@[33; 36)
IDENT@[33; 36) "i32"
SEMI@[36; 37)
WHITESPACE@[37; 42)
SEMI@[36; 37) ";"
WHITESPACE@[37; 42) "\n "
LET_STMT@[42; 53)
LET_KW@[42; 45)
WHITESPACE@[45; 46)
LET_KW@[42; 45) "let"
WHITESPACE@[45; 46) " "
BIND_PAT@[46; 47)
NAME@[46; 47)
IDENT@[46; 47) "c"
WHITESPACE@[47; 48)
EQ@[48; 49)
WHITESPACE@[49; 50)
WHITESPACE@[47; 48) " "
EQ@[48; 49) "="
WHITESPACE@[49; 50) " "
LITERAL@[50; 52)
INT_NUMBER@[50; 52) "92"
SEMI@[52; 53)
WHITESPACE@[53; 58)
SEMI@[52; 53) ";"
WHITESPACE@[53; 58) "\n "
LET_STMT@[58; 74)
LET_KW@[58; 61)
WHITESPACE@[61; 62)
LET_KW@[58; 61) "let"
WHITESPACE@[61; 62) " "
BIND_PAT@[62; 63)
NAME@[62; 63)
IDENT@[62; 63) "d"
COLON@[63; 64)
WHITESPACE@[64; 65)
COLON@[63; 64) ":"
WHITESPACE@[64; 65) " "
PATH_TYPE@[65; 68)
PATH@[65; 68)
PATH_SEGMENT@[65; 68)
NAME_REF@[65; 68)
IDENT@[65; 68) "i32"
WHITESPACE@[68; 69)
EQ@[69; 70)
WHITESPACE@[70; 71)
WHITESPACE@[68; 69) " "
EQ@[69; 70) "="
WHITESPACE@[70; 71) " "
LITERAL@[71; 73)
INT_NUMBER@[71; 73) "92"
SEMI@[73; 74)
WHITESPACE@[74; 75)
R_CURLY@[75; 76)
WHITESPACE@[76; 77)
SEMI@[73; 74) ";"
WHITESPACE@[74; 75) "\n"
R_CURLY@[75; 76) "}"
WHITESPACE@[76; 77) "\n"

View file

@ -1,22 +1,22 @@
SOURCE_FILE@[0; 22)
TRAIT_DEF@[0; 21)
TRAIT_KW@[0; 5)
WHITESPACE@[5; 6)
TRAIT_KW@[0; 5) "trait"
WHITESPACE@[5; 6) " "
NAME@[6; 7)
IDENT@[6; 7) "T"
WHITESPACE@[7; 8)
WHITESPACE@[7; 8) " "
ITEM_LIST@[8; 21)
L_CURLY@[8; 9)
WHITESPACE@[9; 10)
L_CURLY@[8; 9) "{"
WHITESPACE@[9; 10) " "
FN_DEF@[10; 19)
FN_KW@[10; 12)
WHITESPACE@[12; 13)
FN_KW@[10; 12) "fn"
WHITESPACE@[12; 13) " "
NAME@[13; 16)
IDENT@[13; 16) "foo"
PARAM_LIST@[16; 18)
L_PAREN@[16; 17)
R_PAREN@[17; 18)
SEMI@[18; 19)
WHITESPACE@[19; 20)
R_CURLY@[20; 21)
WHITESPACE@[21; 22)
L_PAREN@[16; 17) "("
R_PAREN@[17; 18) ")"
SEMI@[18; 19) ";"
WHITESPACE@[19; 20) " "
R_CURLY@[20; 21) "}"
WHITESPACE@[21; 22) "\n"

View file

@ -1,14 +1,14 @@
SOURCE_FILE@[0; 13)
TYPE_ALIAS_DEF@[0; 12)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "T"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
TUPLE_TYPE@[9; 11)
L_PAREN@[9; 10)
R_PAREN@[10; 11)
SEMI@[11; 12)
WHITESPACE@[12; 13)
L_PAREN@[9; 10) "("
R_PAREN@[10; 11) ")"
SEMI@[11; 12) ";"
WHITESPACE@[12; 13) "\n"

View file

@ -1,70 +1,70 @@
SOURCE_FILE@[0; 71)
TYPE_ALIAS_DEF@[0; 13)
TYPE_KW@[0; 4)
WHITESPACE@[4; 5)
TYPE_KW@[0; 4) "type"
WHITESPACE@[4; 5) " "
NAME@[5; 6)
IDENT@[5; 6) "A"
WHITESPACE@[6; 7)
EQ@[7; 8)
WHITESPACE@[8; 9)
WHITESPACE@[6; 7) " "
EQ@[7; 8) "="
WHITESPACE@[8; 9) " "
PATH_TYPE@[9; 12)
PATH@[9; 12)
PATH_SEGMENT@[9; 12)
NAME_REF@[9; 12)
IDENT@[9; 12) "Foo"
SEMI@[12; 13)
WHITESPACE@[13; 14)
SEMI@[12; 13) ";"
WHITESPACE@[13; 14) "\n"
TYPE_ALIAS_DEF@[14; 29)
TYPE_KW@[14; 18)
WHITESPACE@[18; 19)
TYPE_KW@[14; 18) "type"
WHITESPACE@[18; 19) " "
NAME@[19; 20)
IDENT@[19; 20) "B"
WHITESPACE@[20; 21)
EQ@[21; 22)
WHITESPACE@[22; 23)
WHITESPACE@[20; 21) " "
EQ@[21; 22) "="
WHITESPACE@[22; 23) " "
PATH_TYPE@[23; 28)
PATH@[23; 28)
PATH_SEGMENT@[23; 28)
COLONCOLON@[23; 25)
COLONCOLON@[23; 25) "::"
NAME_REF@[25; 28)
IDENT@[25; 28) "Foo"
SEMI@[28; 29)
WHITESPACE@[29; 30)
SEMI@[28; 29) ";"
WHITESPACE@[29; 30) "\n"
TYPE_ALIAS_DEF@[30; 49)
TYPE_KW@[30; 34)
WHITESPACE@[34; 35)
TYPE_KW@[30; 34) "type"
WHITESPACE@[34; 35) " "
NAME@[35; 36)
IDENT@[35; 36) "C"
WHITESPACE@[36; 37)
EQ@[37; 38)
WHITESPACE@[38; 39)
WHITESPACE@[36; 37) " "
EQ@[37; 38) "="
WHITESPACE@[38; 39) " "
PATH_TYPE@[39; 48)
PATH@[39; 48)
PATH@[39; 43)
PATH_SEGMENT@[39; 43)
SELF_KW@[39; 43)
COLONCOLON@[43; 45)
SELF_KW@[39; 43) "self"
COLONCOLON@[43; 45) "::"
PATH_SEGMENT@[45; 48)
NAME_REF@[45; 48)
IDENT@[45; 48) "Foo"
SEMI@[48; 49)
WHITESPACE@[49; 50)
SEMI@[48; 49) ";"
WHITESPACE@[49; 50) "\n"
TYPE_ALIAS_DEF@[50; 70)
TYPE_KW@[50; 54)
WHITESPACE@[54; 55)
TYPE_KW@[50; 54) "type"
WHITESPACE@[54; 55) " "
NAME@[55; 56)
IDENT@[55; 56) "D"
WHITESPACE@[56; 57)
EQ@[57; 58)
WHITESPACE@[58; 59)
WHITESPACE@[56; 57) " "
EQ@[57; 58) "="
WHITESPACE@[58; 59) " "
PATH_TYPE@[59; 69)
PATH@[59; 69)
PATH@[59; 64)
PATH_SEGMENT@[59; 64)
SUPER_KW@[59; 64)
COLONCOLON@[64; 66)
SUPER_KW@[59; 64) "super"
COLONCOLON@[64; 66) "::"
PATH_SEGMENT@[66; 69)
NAME_REF@[66; 69)
IDENT@[66; 69) "Foo"
SEMI@[69; 70)
WHITESPACE@[70; 71)
SEMI@[69; 70) ";"
WHITESPACE@[70; 71) "\n"

View file

@ -1,95 +1,95 @@
SOURCE_FILE@[0; 91)
FN_DEF@[0; 90)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) " "
BLOCK@[9; 90)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
LET_STMT@[15; 25)
LET_KW@[15; 18)
WHITESPACE@[18; 19)
LET_KW@[15; 18) "let"
WHITESPACE@[18; 19) " "
PLACEHOLDER_PAT@[19; 20)
UNDERSCORE@[19; 20)
WHITESPACE@[20; 21)
EQ@[21; 22)
WHITESPACE@[22; 23)
UNDERSCORE@[19; 20) "_"
WHITESPACE@[20; 21) " "
EQ@[21; 22) "="
WHITESPACE@[22; 23) " "
PATH_EXPR@[23; 24)
PATH@[23; 24)
PATH_SEGMENT@[23; 24)
NAME_REF@[23; 24)
IDENT@[23; 24) "a"
SEMI@[24; 25)
WHITESPACE@[25; 30)
SEMI@[24; 25) ";"
WHITESPACE@[25; 30) "\n "
LET_STMT@[30; 43)
LET_KW@[30; 33)
WHITESPACE@[33; 34)
LET_KW@[30; 33) "let"
WHITESPACE@[33; 34) " "
PLACEHOLDER_PAT@[34; 35)
UNDERSCORE@[34; 35)
WHITESPACE@[35; 36)
EQ@[36; 37)
WHITESPACE@[37; 38)
UNDERSCORE@[34; 35) "_"
WHITESPACE@[35; 36) " "
EQ@[36; 37) "="
WHITESPACE@[37; 38) " "
PATH_EXPR@[38; 42)
PATH@[38; 42)
PATH@[38; 39)
PATH_SEGMENT@[38; 39)
NAME_REF@[38; 39)
IDENT@[38; 39) "a"
COLONCOLON@[39; 41)
COLONCOLON@[39; 41) "::"
PATH_SEGMENT@[41; 42)
NAME_REF@[41; 42)
IDENT@[41; 42) "b"
SEMI@[42; 43)
WHITESPACE@[43; 48)
SEMI@[42; 43) ";"
WHITESPACE@[43; 48) "\n "
LET_STMT@[48; 65)
LET_KW@[48; 51)
WHITESPACE@[51; 52)
LET_KW@[48; 51) "let"
WHITESPACE@[51; 52) " "
PLACEHOLDER_PAT@[52; 53)
UNDERSCORE@[52; 53)
WHITESPACE@[53; 54)
EQ@[54; 55)
WHITESPACE@[55; 56)
UNDERSCORE@[52; 53) "_"
WHITESPACE@[53; 54) " "
EQ@[54; 55) "="
WHITESPACE@[55; 56) " "
PATH_EXPR@[56; 64)
PATH@[56; 64)
PATH_SEGMENT@[56; 64)
COLONCOLON@[56; 58)
COLONCOLON@[56; 58) "::"
NAME_REF@[58; 59)
IDENT@[58; 59) "a"
TYPE_ARG_LIST@[59; 64)
COLONCOLON@[59; 61)
L_ANGLE@[61; 62)
COLONCOLON@[59; 61) "::"
L_ANGLE@[61; 62) "<"
TYPE_ARG@[62; 63)
PATH_TYPE@[62; 63)
PATH@[62; 63)
PATH_SEGMENT@[62; 63)
NAME_REF@[62; 63)
IDENT@[62; 63) "b"
R_ANGLE@[63; 64)
SEMI@[64; 65)
WHITESPACE@[65; 70)
R_ANGLE@[63; 64) ">"
SEMI@[64; 65) ";"
WHITESPACE@[65; 70) "\n "
LET_STMT@[70; 88)
LET_KW@[70; 73)
WHITESPACE@[73; 74)
LET_KW@[70; 73) "let"
WHITESPACE@[73; 74) " "
PLACEHOLDER_PAT@[74; 75)
UNDERSCORE@[74; 75)
WHITESPACE@[75; 76)
EQ@[76; 77)
WHITESPACE@[77; 78)
UNDERSCORE@[74; 75) "_"
WHITESPACE@[75; 76) " "
EQ@[76; 77) "="
WHITESPACE@[77; 78) " "
MACRO_CALL@[78; 87)
PATH@[78; 84)
PATH_SEGMENT@[78; 84)
NAME_REF@[78; 84)
IDENT@[78; 84) "format"
EXCL@[84; 85)
EXCL@[84; 85) "!"
TOKEN_TREE@[85; 87)
L_PAREN@[85; 86)
R_PAREN@[86; 87)
SEMI@[87; 88)
WHITESPACE@[88; 89)
R_CURLY@[89; 90)
WHITESPACE@[90; 91)
L_PAREN@[85; 86) "("
R_PAREN@[86; 87) ")"
SEMI@[87; 88) ";"
WHITESPACE@[88; 89) "\n"
R_CURLY@[89; 90) "}"
WHITESPACE@[90; 91) "\n"

View file

@ -1,42 +1,42 @@
SOURCE_FILE@[0; 64)
STRUCT_DEF@[0; 63)
STRUCT_KW@[0; 6)
WHITESPACE@[6; 7)
STRUCT_KW@[0; 6) "struct"
WHITESPACE@[6; 7) " "
NAME@[7; 8)
IDENT@[7; 8) "S"
WHITESPACE@[8; 9)
WHITESPACE@[8; 9) " "
NAMED_FIELD_DEF_LIST@[9; 63)
L_CURLY@[9; 10)
WHITESPACE@[10; 15)
L_CURLY@[9; 10) "{"
WHITESPACE@[10; 15) "\n "
NAMED_FIELD_DEF@[15; 60)
ATTR@[15; 43)
POUND@[15; 16)
POUND@[15; 16) "#"
TOKEN_TREE@[16; 43)
L_BRACK@[16; 17)
L_BRACK@[16; 17) "["
IDENT@[17; 22) "serde"
TOKEN_TREE@[22; 42)
L_PAREN@[22; 23)
L_PAREN@[22; 23) "("
IDENT@[23; 27) "with"
WHITESPACE@[27; 28)
EQ@[28; 29)
WHITESPACE@[29; 30)
STRING@[30; 41)
R_PAREN@[41; 42)
R_BRACK@[42; 43)
WHITESPACE@[43; 48)
WHITESPACE@[27; 28) " "
EQ@[28; 29) "="
WHITESPACE@[29; 30) " "
STRING@[30; 41) "\"url_serde\""
R_PAREN@[41; 42) ")"
R_BRACK@[42; 43) "]"
WHITESPACE@[43; 48) "\n "
VISIBILITY@[48; 51)
PUB_KW@[48; 51)
WHITESPACE@[51; 52)
PUB_KW@[48; 51) "pub"
WHITESPACE@[51; 52) " "
NAME@[52; 55)
IDENT@[52; 55) "uri"
COLON@[55; 56)
WHITESPACE@[56; 57)
COLON@[55; 56) ":"
WHITESPACE@[56; 57) " "
PATH_TYPE@[57; 60)
PATH@[57; 60)
PATH_SEGMENT@[57; 60)
NAME_REF@[57; 60)
IDENT@[57; 60) "Uri"
COMMA@[60; 61)
WHITESPACE@[61; 62)
R_CURLY@[62; 63)
WHITESPACE@[63; 64)
COMMA@[60; 61) ","
WHITESPACE@[61; 62) "\n"
R_CURLY@[62; 63) "}"
WHITESPACE@[63; 64) "\n"

View file

@ -1,76 +1,76 @@
SOURCE_FILE@[0; 113)
FN_DEF@[0; 112)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 7)
IDENT@[3; 7) "main"
PARAM_LIST@[7; 9)
L_PAREN@[7; 8)
R_PAREN@[8; 9)
WHITESPACE@[9; 10)
L_PAREN@[7; 8) "("
R_PAREN@[8; 9) ")"
WHITESPACE@[9; 10) " "
BLOCK@[10; 112)
L_CURLY@[10; 11)
WHITESPACE@[11; 16)
L_CURLY@[10; 11) "{"
WHITESPACE@[11; 16) "\n "
MATCH_EXPR@[16; 110)
MATCH_KW@[16; 21)
WHITESPACE@[21; 22)
MATCH_KW@[16; 21) "match"
WHITESPACE@[21; 22) " "
TUPLE_EXPR@[22; 24)
L_PAREN@[22; 23)
R_PAREN@[23; 24)
WHITESPACE@[24; 25)
L_PAREN@[22; 23) "("
R_PAREN@[23; 24) ")"
WHITESPACE@[24; 25) " "
MATCH_ARM_LIST@[25; 110)
L_CURLY@[25; 26)
WHITESPACE@[26; 35)
L_CURLY@[25; 26) "{"
WHITESPACE@[26; 35) "\n "
MATCH_ARM@[35; 43)
LITERAL_PAT@[35; 37)
MINUS@[35; 36)
MINUS@[35; 36) "-"
LITERAL@[36; 37)
INT_NUMBER@[36; 37) "1"
WHITESPACE@[37; 38)
FAT_ARROW@[38; 40)
WHITESPACE@[40; 41)
WHITESPACE@[37; 38) " "
FAT_ARROW@[38; 40) "=>"
WHITESPACE@[40; 41) " "
TUPLE_EXPR@[41; 43)
L_PAREN@[41; 42)
R_PAREN@[42; 43)
COMMA@[43; 44)
WHITESPACE@[44; 53)
L_PAREN@[41; 42) "("
R_PAREN@[42; 43) ")"
COMMA@[43; 44) ","
WHITESPACE@[44; 53) "\n "
MATCH_ARM@[53; 61)
LITERAL_PAT@[53; 55)
LITERAL@[53; 55)
INT_NUMBER@[53; 55) "92"
WHITESPACE@[55; 56)
FAT_ARROW@[56; 58)
WHITESPACE@[58; 59)
WHITESPACE@[55; 56) " "
FAT_ARROW@[56; 58) "=>"
WHITESPACE@[58; 59) " "
TUPLE_EXPR@[59; 61)
L_PAREN@[59; 60)
R_PAREN@[60; 61)
COMMA@[61; 62)
WHITESPACE@[62; 71)
L_PAREN@[59; 60) "("
R_PAREN@[60; 61) ")"
COMMA@[61; 62) ","
WHITESPACE@[62; 71) "\n "
MATCH_ARM@[71; 80)
LITERAL_PAT@[71; 74)
LITERAL@[71; 74)
CHAR@[71; 74)
WHITESPACE@[74; 75)
FAT_ARROW@[75; 77)
WHITESPACE@[77; 78)
CHAR@[71; 74) "\'c\'"
WHITESPACE@[74; 75) " "
FAT_ARROW@[75; 77) "=>"
WHITESPACE@[77; 78) " "
TUPLE_EXPR@[78; 80)
L_PAREN@[78; 79)
R_PAREN@[79; 80)
COMMA@[80; 81)
WHITESPACE@[81; 90)
L_PAREN@[78; 79) "("
R_PAREN@[79; 80) ")"
COMMA@[80; 81) ","
WHITESPACE@[81; 90) "\n "
MATCH_ARM@[90; 103)
LITERAL_PAT@[90; 97)
LITERAL@[90; 97)
STRING@[90; 97)
WHITESPACE@[97; 98)
FAT_ARROW@[98; 100)
WHITESPACE@[100; 101)
STRING@[90; 97) "\"hello\""
WHITESPACE@[97; 98) " "
FAT_ARROW@[98; 100) "=>"
WHITESPACE@[100; 101) " "
TUPLE_EXPR@[101; 103)
L_PAREN@[101; 102)
R_PAREN@[102; 103)
COMMA@[103; 104)
WHITESPACE@[104; 109)
R_CURLY@[109; 110)
WHITESPACE@[110; 111)
R_CURLY@[111; 112)
WHITESPACE@[112; 113)
L_PAREN@[101; 102) "("
R_PAREN@[102; 103) ")"
COMMA@[103; 104) ","
WHITESPACE@[104; 109) "\n "
R_CURLY@[109; 110) "}"
WHITESPACE@[110; 111) "\n"
R_CURLY@[111; 112) "}"
WHITESPACE@[112; 113) "\n"

View file

@ -1,38 +1,38 @@
SOURCE_FILE@[0; 116)
FN_DEF@[0; 115)
FN_KW@[0; 2)
WHITESPACE@[2; 3)
FN_KW@[0; 2) "fn"
WHITESPACE@[2; 3) " "
NAME@[3; 6)
IDENT@[3; 6) "foo"
PARAM_LIST@[6; 8)
L_PAREN@[6; 7)
R_PAREN@[7; 8)
WHITESPACE@[8; 9)
L_PAREN@[6; 7) "("
R_PAREN@[7; 8) ")"
WHITESPACE@[8; 9) "\n"
WHERE_CLAUSE@[9; 112)
WHERE_KW@[9; 14)
WHITESPACE@[14; 18)
WHERE_KW@[9; 14) "where"
WHITESPACE@[14; 18) "\n "
WHERE_PRED@[18; 29)
LIFETIME@[18; 20) "'a"
COLON@[20; 21)
WHITESPACE@[21; 22)
LIFETIME@[18; 20) "\'a"
COLON@[20; 21) ":"
WHITESPACE@[21; 22) " "
TYPE_BOUND_LIST@[22; 29)
TYPE_BOUND@[22; 24)
LIFETIME@[22; 24) "'b"
WHITESPACE@[24; 25)
PLUS@[25; 26)
WHITESPACE@[26; 27)
LIFETIME@[22; 24) "\'b"
WHITESPACE@[24; 25) " "
PLUS@[25; 26) "+"
WHITESPACE@[26; 27) " "
TYPE_BOUND@[27; 29)
LIFETIME@[27; 29) "'c"
COMMA@[29; 30)
WHITESPACE@[30; 34)
LIFETIME@[27; 29) "\'c"
COMMA@[29; 30) ","
WHITESPACE@[30; 34) "\n "
WHERE_PRED@[34; 59)
PATH_TYPE@[34; 35)
PATH@[34; 35)
PATH_SEGMENT@[34; 35)
NAME_REF@[34; 35)
IDENT@[34; 35) "T"
COLON@[35; 36)
WHITESPACE@[36; 37)
COLON@[35; 36) ":"
WHITESPACE@[36; 37) " "
TYPE_BOUND_LIST@[37; 59)
TYPE_BOUND@[37; 42)
PATH_TYPE@[37; 42)
@ -40,22 +40,22 @@ SOURCE_FILE@[0; 116)
PATH_SEGMENT@[37; 42)
NAME_REF@[37; 42)
IDENT@[37; 42) "Clone"
WHITESPACE@[42; 43)
PLUS@[43; 44)
WHITESPACE@[44; 45)
WHITESPACE@[42; 43) " "
PLUS@[43; 44) "+"
WHITESPACE@[44; 45) " "
TYPE_BOUND@[45; 49)
PATH_TYPE@[45; 49)
PATH@[45; 49)
PATH_SEGMENT@[45; 49)
NAME_REF@[45; 49)
IDENT@[45; 49) "Copy"
WHITESPACE@[49; 50)
PLUS@[50; 51)
WHITESPACE@[51; 52)
WHITESPACE@[49; 50) " "
PLUS@[50; 51) "+"
WHITESPACE@[51; 52) " "
TYPE_BOUND@[52; 59)
LIFETIME@[52; 59) "'static"
COMMA@[59; 60)
WHITESPACE@[60; 64)
LIFETIME@[52; 59) "\'static"
COMMA@[59; 60) ","
WHITESPACE@[60; 64) "\n "
WHERE_PRED@[64; 82)
PATH_TYPE@[64; 78)
PATH@[64; 78)
@ -63,48 +63,48 @@ SOURCE_FILE@[0; 116)
PATH_SEGMENT@[64; 72)
NAME_REF@[64; 72)
IDENT@[64; 72) "Iterator"
COLONCOLON@[72; 74)
COLONCOLON@[72; 74) "::"
PATH_SEGMENT@[74; 78)
NAME_REF@[74; 78)
IDENT@[74; 78) "Item"
COLON@[78; 79)
WHITESPACE@[79; 80)
COLON@[78; 79) ":"
WHITESPACE@[79; 80) " "
TYPE_BOUND_LIST@[80; 82)
TYPE_BOUND@[80; 82)
LIFETIME@[80; 82) "'a"
COMMA@[82; 83)
WHITESPACE@[83; 87)
LIFETIME@[80; 82) "\'a"
COMMA@[82; 83) ","
WHITESPACE@[83; 87) "\n "
WHERE_PRED@[87; 112)
PATH_TYPE@[87; 108)
PATH@[87; 108)
PATH@[87; 102)
PATH_SEGMENT@[87; 102)
L_ANGLE@[87; 88)
L_ANGLE@[87; 88) "<"
PATH_TYPE@[88; 89)
PATH@[88; 89)
PATH_SEGMENT@[88; 89)
NAME_REF@[88; 89)
IDENT@[88; 89) "T"
WHITESPACE@[89; 90)
AS_KW@[90; 92)
WHITESPACE@[92; 93)
WHITESPACE@[89; 90) " "
AS_KW@[90; 92) "as"
WHITESPACE@[92; 93) " "
PATH_TYPE@[93; 101)
PATH@[93; 101)
PATH_SEGMENT@[93; 101)
NAME_REF@[93; 101)
IDENT@[93; 101) "Iterator"
R_ANGLE@[101; 102)
COLONCOLON@[102; 104)
R_ANGLE@[101; 102) ">"
COLONCOLON@[102; 104) "::"
PATH_SEGMENT@[104; 108)
NAME_REF@[104; 108)
IDENT@[104; 108) "Item"
COLON@[108; 109)
WHITESPACE@[109; 110)
COLON@[108; 109) ":"
WHITESPACE@[109; 110) " "
TYPE_BOUND_LIST@[110; 112)
TYPE_BOUND@[110; 112)
LIFETIME@[110; 112) "'a"
WHITESPACE@[112; 113)
LIFETIME@[110; 112) "\'a"
WHITESPACE@[112; 113) "\n"
BLOCK@[113; 115)
L_CURLY@[113; 114)
R_CURLY@[114; 115)
WHITESPACE@[115; 116)
L_CURLY@[113; 114) "{"
R_CURLY@[114; 115) "}"
WHITESPACE@[115; 116) "\n"

Some files were not shown because too many files have changed in this diff Show more