Code: ``` fn main() { for _ in match return () { () => Some(0), } {} } ``` Warning: ``` $ rustc a.rs a.rs:2:5: 4:9 warning: unused variable: `result`, #[warn(unused_variables)] on by default a.rs:2 for _ in match return () { a.rs:3 () => Some(0), a.rs:4 } {} ``` [Playpen](https://play.rust-lang.org/?gist=3f4373be0860d4685bf5&version=nightly) It probably has something to do with for loop desugaring.