diff options
Diffstat (limited to 'tests/ui/closures/2229_closure_analysis/match/issue-87097.rs')
-rw-r--r-- | tests/ui/closures/2229_closure_analysis/match/issue-87097.rs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/closures/2229_closure_analysis/match/issue-87097.rs b/tests/ui/closures/2229_closure_analysis/match/issue-87097.rs new file mode 100644 index 000000000..815fc0a71 --- /dev/null +++ b/tests/ui/closures/2229_closure_analysis/match/issue-87097.rs @@ -0,0 +1,35 @@ +// run-pass +// edition:2021 + +enum Variant { + A, + B, //~ WARNING: variant `B` is never constructed +} + +struct A { + field: Variant, +} + +fn discriminant_is_a_ref() { + let here = A { field: Variant::A }; + let out_ref = &here.field; + + || match out_ref { //~ WARNING: unused closure that must be used + Variant::A => (), + Variant::B => (), + }; +} + +fn discriminant_is_a_field() { + let here = A { field: Variant::A }; + + || match here.field { //~ WARNING: unused closure that must be used + Variant::A => (), + Variant::B => (), + }; +} + +fn main() { + discriminant_is_a_ref(); + discriminant_is_a_field(); +} |