From e2ecccfbb055d6bc21391e6e5008ba3b189a31f0 Mon Sep 17 00:00:00 2001 From: Hong Jiarong Date: Sat, 15 Nov 2025 16:39:24 +0800 Subject: [PATCH] feat: add test cases for dead code detection in destructuring patterns --- .../src/fixtures/dead_code/destructuring_dict.typ | 12 ++++++++++++ ...{complex_patterns.typ => destructuring_tuple.typ} | 0 .../snaps/dead_code@destructuring_dict.typ.snap.new | 7 +++++++ ...p.snap => dead_code@destructuring_tuple.typ.snap} | 2 +- ...p.snap.new => dead_code@imported_unused.typ.snap} | 1 - 5 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 crates/tinymist-query/src/fixtures/dead_code/destructuring_dict.typ rename crates/tinymist-query/src/fixtures/dead_code/{complex_patterns.typ => destructuring_tuple.typ} (100%) create mode 100644 crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_dict.typ.snap.new rename crates/tinymist-query/src/fixtures/dead_code/snaps/{dead_code@complex_patterns.typ.snap => dead_code@destructuring_tuple.typ.snap} (86%) rename crates/tinymist-query/src/fixtures/dead_code/snaps/{dead_code@imported_unused.typ.snap.new => dead_code@imported_unused.typ.snap} (90%) diff --git a/crates/tinymist-query/src/fixtures/dead_code/destructuring_dict.typ b/crates/tinymist-query/src/fixtures/dead_code/destructuring_dict.typ new file mode 100644 index 000000000..fc1103f90 --- /dev/null +++ b/crates/tinymist-query/src/fixtures/dead_code/destructuring_dict.typ @@ -0,0 +1,12 @@ +// Test complex destructuring patterns +#let data = ( + x: (1, 2), + y: (3, 4, 5), +) + +#let (x: (used_a, unused_x), y: (c1, c2, c3)) = data + +#used_a +#c1 +#c3 +// c2 and unused_x should be warned diff --git a/crates/tinymist-query/src/fixtures/dead_code/complex_patterns.typ b/crates/tinymist-query/src/fixtures/dead_code/destructuring_tuple.typ similarity index 100% rename from crates/tinymist-query/src/fixtures/dead_code/complex_patterns.typ rename to crates/tinymist-query/src/fixtures/dead_code/destructuring_tuple.typ diff --git a/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_dict.typ.snap.new b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_dict.typ.snap.new new file mode 100644 index 000000000..bd1286d15 --- /dev/null +++ b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_dict.typ.snap.new @@ -0,0 +1,7 @@ +--- +source: crates/tinymist-query/src/analysis.rs +assertion_line: 662 +expression: "JsonRepr::new_redacted(result, &REDACT_LOC)" +input_file: crates/tinymist-query/src/fixtures/dead_code/destructuring_dict.typ +--- +{} diff --git a/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@complex_patterns.typ.snap b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_tuple.typ.snap similarity index 86% rename from crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@complex_patterns.typ.snap rename to crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_tuple.typ.snap index 08258a1ef..10455b5b6 100644 --- a/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@complex_patterns.typ.snap +++ b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@destructuring_tuple.typ.snap @@ -1,7 +1,7 @@ --- source: crates/tinymist-query/src/analysis.rs expression: "JsonRepr::new_redacted(result, &REDACT_LOC)" -input_file: crates/tinymist-query/src/fixtures/dead_code/complex_patterns.typ +input_file: crates/tinymist-query/src/fixtures/dead_code/destructuring_tuple.typ --- { "s0.typ": [ diff --git a/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap.new b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap similarity index 90% rename from crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap.new rename to crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap index b381b6a8b..dce3884b2 100644 --- a/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap.new +++ b/crates/tinymist-query/src/fixtures/dead_code/snaps/dead_code@imported_unused.typ.snap @@ -1,6 +1,5 @@ --- source: crates/tinymist-query/src/analysis.rs -assertion_line: 662 expression: "JsonRepr::new_redacted(result, &REDACT_LOC)" input_file: crates/tinymist-query/src/fixtures/dead_code/imported_unused.typ ---