Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/file_structure.rs')
-rw-r--r--crates/ide/src/file_structure.rs76
1 files changed, 76 insertions, 0 deletions
diff --git a/crates/ide/src/file_structure.rs b/crates/ide/src/file_structure.rs
index 7b296b2701..055080ad17 100644
--- a/crates/ide/src/file_structure.rs
+++ b/crates/ide/src/file_structure.rs
@@ -326,6 +326,17 @@ fn f() {}
// endregion
fn g() {}
}
+
+fn let_statements() {
+ let x = 42;
+ let mut y = x;
+ let Foo {
+ ..
+ } = Foo { x };
+ if let None = Some(x) {}
+ _ = ();
+ let _ = g();
+}
"#,
expect![[r#"
[
@@ -651,6 +662,71 @@ fn g() {}
),
deprecated: false,
},
+ StructureNode {
+ parent: None,
+ label: "let_statements",
+ navigation_range: 641..655,
+ node_range: 638..798,
+ kind: SymbolKind(
+ Function,
+ ),
+ detail: Some(
+ "fn()",
+ ),
+ deprecated: false,
+ },
+ StructureNode {
+ parent: Some(
+ 26,
+ ),
+ label: "x",
+ navigation_range: 668..669,
+ node_range: 664..675,
+ kind: SymbolKind(
+ Local,
+ ),
+ detail: None,
+ deprecated: false,
+ },
+ StructureNode {
+ parent: Some(
+ 26,
+ ),
+ label: "mut y",
+ navigation_range: 684..689,
+ node_range: 680..694,
+ kind: SymbolKind(
+ Local,
+ ),
+ detail: None,
+ deprecated: false,
+ },
+ StructureNode {
+ parent: Some(
+ 26,
+ ),
+ label: "Foo { .. }",
+ navigation_range: 703..725,
+ node_range: 699..738,
+ kind: SymbolKind(
+ Local,
+ ),
+ detail: None,
+ deprecated: false,
+ },
+ StructureNode {
+ parent: Some(
+ 26,
+ ),
+ label: "_",
+ navigation_range: 788..789,
+ node_range: 784..796,
+ kind: SymbolKind(
+ Local,
+ ),
+ detail: None,
+ deprecated: false,
+ },
]
"#]],
);