Skip to content

Commit 1981668

Browse files
committed
Rust: Add pattern match type inference test
1 parent f232335 commit 1981668

File tree

3 files changed

+750
-664
lines changed

3 files changed

+750
-664
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
nonUniqueCertainType
2+
| pattern_matching.rs:487:9:487:18 | ref_tuple1 | |
3+
| pattern_matching.rs:487:9:487:18 | ref_tuple1 | |
4+
| pattern_matching.rs:488:12:488:17 | TuplePat | |
5+
| pattern_matching.rs:488:21:488:30 | ref_tuple1 | |
6+
| pattern_matching.rs:494:9:494:18 | ref_tuple2 | |
7+
| pattern_matching.rs:494:9:494:18 | ref_tuple2 | |
8+
| pattern_matching.rs:495:9:495:14 | TuplePat | |
9+
| pattern_matching.rs:495:18:495:27 | ref_tuple2 | |

rust/ql/test/library-tests/type-inference/pattern_matching.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,19 @@ pub fn tuple_patterns() {
482482
println!("Single element tuple: {}", single_elem);
483483
}
484484
}
485+
486+
// Tuple pattern on reference to tuple in `let` expression
487+
let ref_tuple1: &(i32, i32) = &(1, 2);
488+
if let (n, m) = ref_tuple1 {
489+
println!("n: {}", n);
490+
println!("m: {}", m);
491+
}
492+
493+
// Tuple pattern on reference to tuple in `let` statement
494+
let ref_tuple2: &(i32, i32) = &(1, 2);
495+
let (n, m) = ref_tuple2;
496+
println!("n: {}", n);
497+
println!("m: {}", m);
485498
}
486499

487500
pub fn parenthesized_patterns() {

0 commit comments

Comments
 (0)