// Check that using the parameter name in its type does not ICE. // edition:2018 #![feature(async_closure)] fn main() { let _ = |x: x| x; //~ ERROR expected type let _ = |x: bool| -> x { x }; //~ ERROR expected type let _ = async move |x: x| x; //~ ERROR expected type let _ = async move |x: bool| -> x { x }; //~ ERROR expected type } fn foo(x: x) {} //~ ERROR expected type fn foo_ret(x: bool) -> x {} //~ ERROR expected type async fn async_foo(x: x) {} //~ ERROR expected type async fn async_foo_ret(x: bool) -> x {} //~ ERROR expected type