mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Add support for _ binding patterns (#5097)
Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
co-authored by
Jon Ross-Perkins
parent
d8d2da4ea0
commit
a584ee120e
+17
-1
@@ -9,8 +9,10 @@
|
||||
// TIP: bazel run //toolchain/testing:file_test -- --dump_output --file_tests=toolchain/parse/testdata/let/let.carbon
|
||||
|
||||
let v: i32 = 0;
|
||||
let _: i32 = 1;
|
||||
fn F() {
|
||||
let s: String = "hello";
|
||||
let _: i32 = "goodbye";
|
||||
}
|
||||
|
||||
// CHECK:STDOUT: - filename: let.carbon
|
||||
@@ -23,6 +25,13 @@ fn F() {
|
||||
// CHECK:STDOUT: {kind: 'LetInitializer', text: '='},
|
||||
// CHECK:STDOUT: {kind: 'IntLiteral', text: '0'},
|
||||
// CHECK:STDOUT: {kind: 'LetDecl', text: ';', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'LetIntroducer', text: 'let'},
|
||||
// CHECK:STDOUT: {kind: 'UnderscoreName', text: '_'},
|
||||
// CHECK:STDOUT: {kind: 'IntTypeLiteral', text: 'i32'},
|
||||
// CHECK:STDOUT: {kind: 'LetBindingPattern', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'LetInitializer', text: '='},
|
||||
// CHECK:STDOUT: {kind: 'IntLiteral', text: '1'},
|
||||
// CHECK:STDOUT: {kind: 'LetDecl', text: ';', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'FunctionIntroducer', text: 'fn'},
|
||||
// CHECK:STDOUT: {kind: 'IdentifierNameBeforeParams', text: 'F'},
|
||||
// CHECK:STDOUT: {kind: 'ExplicitParamListStart', text: '('},
|
||||
@@ -35,6 +44,13 @@ fn F() {
|
||||
// CHECK:STDOUT: {kind: 'LetInitializer', text: '='},
|
||||
// CHECK:STDOUT: {kind: 'StringLiteral', text: '"hello"'},
|
||||
// CHECK:STDOUT: {kind: 'LetDecl', text: ';', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 13},
|
||||
// CHECK:STDOUT: {kind: 'LetIntroducer', text: 'let'},
|
||||
// CHECK:STDOUT: {kind: 'UnderscoreName', text: '_'},
|
||||
// CHECK:STDOUT: {kind: 'IntTypeLiteral', text: 'i32'},
|
||||
// CHECK:STDOUT: {kind: 'LetBindingPattern', text: ':', subtree_size: 3},
|
||||
// CHECK:STDOUT: {kind: 'LetInitializer', text: '='},
|
||||
// CHECK:STDOUT: {kind: 'StringLiteral', text: '"goodbye"'},
|
||||
// CHECK:STDOUT: {kind: 'LetDecl', text: ';', subtree_size: 7},
|
||||
// CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 20},
|
||||
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
|
||||
// CHECK:STDOUT: ]
|
||||
|
||||
Reference in New Issue
Block a user