mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-02 14:51:48 +00:00
intenral: more local tests for statics
This commit is contained in:
parent
1feb8e89d5
commit
3474e3b3b1
9 changed files with 50 additions and 45 deletions
|
@ -1,5 +1,7 @@
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
|
// test const_item
|
||||||
|
// const C: u32 = 92;
|
||||||
pub(super) fn konst(p: &mut Parser, m: Marker) {
|
pub(super) fn konst(p: &mut Parser, m: Marker) {
|
||||||
p.bump(T![const]);
|
p.bump(T![const]);
|
||||||
const_or_static(p, m, true)
|
const_or_static(p, m, true)
|
||||||
|
@ -13,14 +15,15 @@ pub(super) fn static_(p: &mut Parser, m: Marker) {
|
||||||
fn const_or_static(p: &mut Parser, m: Marker, is_const: bool) {
|
fn const_or_static(p: &mut Parser, m: Marker, is_const: bool) {
|
||||||
p.eat(T![mut]);
|
p.eat(T![mut]);
|
||||||
|
|
||||||
// Allow `_` in place of an identifier in a `const`.
|
if is_const && p.eat(T![_]) {
|
||||||
let is_const_underscore = is_const && p.eat(T![_]);
|
// test anonymous_const
|
||||||
if !is_const_underscore {
|
// const _: u32 = 0;
|
||||||
|
} else {
|
||||||
|
// test_err anonymous_static
|
||||||
|
// static _: i32 = 5;
|
||||||
name(p);
|
name(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
// test_err static_underscore
|
|
||||||
// static _: i32 = 5;
|
|
||||||
if p.at(T![:]) {
|
if p.at(T![:]) {
|
||||||
types::ascription(p);
|
types::ascription(p);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
SOURCE_FILE@0..19
|
||||||
|
CONST@0..18
|
||||||
|
CONST_KW@0..5 "const"
|
||||||
|
WHITESPACE@5..6 " "
|
||||||
|
NAME@6..7
|
||||||
|
IDENT@6..7 "C"
|
||||||
|
COLON@7..8 ":"
|
||||||
|
WHITESPACE@8..9 " "
|
||||||
|
PATH_TYPE@9..12
|
||||||
|
PATH@9..12
|
||||||
|
PATH_SEGMENT@9..12
|
||||||
|
NAME_REF@9..12
|
||||||
|
IDENT@9..12 "u32"
|
||||||
|
WHITESPACE@12..13 " "
|
||||||
|
EQ@13..14 "="
|
||||||
|
WHITESPACE@14..15 " "
|
||||||
|
LITERAL@15..17
|
||||||
|
INT_NUMBER@15..17 "92"
|
||||||
|
SEMICOLON@17..18 ";"
|
||||||
|
WHITESPACE@18..19 "\n"
|
|
@ -0,0 +1 @@
|
||||||
|
const C: u32 = 92;
|
|
@ -0,0 +1,19 @@
|
||||||
|
SOURCE_FILE@0..18
|
||||||
|
CONST@0..17
|
||||||
|
CONST_KW@0..5 "const"
|
||||||
|
WHITESPACE@5..6 " "
|
||||||
|
UNDERSCORE@6..7 "_"
|
||||||
|
COLON@7..8 ":"
|
||||||
|
WHITESPACE@8..9 " "
|
||||||
|
PATH_TYPE@9..12
|
||||||
|
PATH@9..12
|
||||||
|
PATH_SEGMENT@9..12
|
||||||
|
NAME_REF@9..12
|
||||||
|
IDENT@9..12 "u32"
|
||||||
|
WHITESPACE@12..13 " "
|
||||||
|
EQ@13..14 "="
|
||||||
|
WHITESPACE@14..15 " "
|
||||||
|
LITERAL@15..16
|
||||||
|
INT_NUMBER@15..16 "0"
|
||||||
|
SEMICOLON@16..17 ";"
|
||||||
|
WHITESPACE@17..18 "\n"
|
|
@ -0,0 +1 @@
|
||||||
|
const _: u32 = 0;
|
|
@ -1,38 +1 @@
|
||||||
SOURCE_FILE@0..39
|
SOURCE_FILE@0..0
|
||||||
CONST@0..17
|
|
||||||
CONST_KW@0..5 "const"
|
|
||||||
WHITESPACE@5..6 " "
|
|
||||||
UNDERSCORE@6..7 "_"
|
|
||||||
COLON@7..8 ":"
|
|
||||||
WHITESPACE@8..9 " "
|
|
||||||
PATH_TYPE@9..12
|
|
||||||
PATH@9..12
|
|
||||||
PATH_SEGMENT@9..12
|
|
||||||
NAME_REF@9..12
|
|
||||||
IDENT@9..12 "u32"
|
|
||||||
WHITESPACE@12..13 " "
|
|
||||||
EQ@13..14 "="
|
|
||||||
WHITESPACE@14..15 " "
|
|
||||||
LITERAL@15..16
|
|
||||||
INT_NUMBER@15..16 "0"
|
|
||||||
SEMICOLON@16..17 ";"
|
|
||||||
WHITESPACE@17..18 "\n"
|
|
||||||
CONST@18..38
|
|
||||||
CONST_KW@18..23 "const"
|
|
||||||
WHITESPACE@23..24 " "
|
|
||||||
NAME@24..27
|
|
||||||
IDENT@24..27 "FOO"
|
|
||||||
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 " "
|
|
||||||
EQ@33..34 "="
|
|
||||||
WHITESPACE@34..35 " "
|
|
||||||
LITERAL@35..37
|
|
||||||
INT_NUMBER@35..37 "92"
|
|
||||||
SEMICOLON@37..38 ";"
|
|
||||||
WHITESPACE@38..39 "\n"
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
const _: u32 = 0;
|
|
||||||
const FOO: u32 = 92;
|
|
Loading…
Add table
Add a link
Reference in a new issue