about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorLastExceed <chris20194@googlemail.com>2024-10-27 23:26:38 +0100
committerLastExceed <chris20194@googlemail.com>2024-10-27 23:29:14 +0100
commitb889a11d7981df34b8aaf2e4ba5e1fc53ac684bd (patch)
tree1024d5efd55aab8d492d9e61d1d307201b8a46f1 /src
parent47e5759da9a3b289935c81f4d2d1f37cdbb55a92 (diff)
downloadrust-b889a11d7981df34b8aaf2e4ba5e1fc53ac684bd.tar.gz
rust-b889a11d7981df34b8aaf2e4ba5e1fc53ac684bd.zip
add test
Diffstat (limited to 'src')
-rw-r--r--src/tools/rust-analyzer/crates/ide/src/file_structure.rs76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/file_structure.rs b/src/tools/rust-analyzer/crates/ide/src/file_structure.rs
index 7b296b27013..055080ad17b 100644
--- a/src/tools/rust-analyzer/crates/ide/src/file_structure.rs
+++ b/src/tools/rust-analyzer/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,
+                    },
                 ]
             "#]],
         );