1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
enum Either { One(X), Two(X), } struct X(Y); struct Y; fn consume_fnmut(f: &dyn FnMut()) { f(); } fn move_into_fnmut() { let x = move_into_fnmut(); consume_fnmut(&|| { let Either::One(_t) = x; //~ ERROR mismatched types let Either::Two(_t) = x; //~ ERROR mismatched types }); } fn main() { }