| // Part of issue #27300. |
| // The problem here is that ruby-style closures are parsed as blocks whose |
| // first statement is a closure. See the issue for more details: |
| // https://github.com/rust-lang/rust/issues/27300 |
| |
| // Note: this test represents what the compiler currently emits. The error |
| // message will be improved later. |
| |
| fn main() { |
| let p = Some(45).and_then({ |
| //~^ expected a `FnOnce<({integer},)>` closure, found `Option<_>` |
| |x| println!("doubling {}", x); |
| Some(x * 2) |
| //~^ ERROR: cannot find value `x` in this scope |
| }); |
| } |