//! Regression test for //! Tests that `&mut T` suggests `T`, not `mut T`, `&mut str` suggests `String`, not `str`, //! when recommending an owned value. fn with_fn(_f: impl Fn() -> &mut ()) {} //~^ ERROR: missing lifetime specifier fn with_ref_mut_str(_f: impl Fn() -> &mut str) {} //~^ ERROR: missing lifetime specifier fn with_fn_has_return(_f: impl Fn() -> &mut ()) -> i32 { //~^ ERROR: missing lifetime specifier 2 } fn with_dyn(_f: Box &mut i32>) {} //~^ ERROR: missing lifetime specifier fn trait_bound &mut i32>(_f: F) {} //~^ ERROR: missing lifetime specifier fn nested_result(_f: impl Fn() -> Result<&mut i32, ()>) {} //~^ ERROR: missing lifetime specifier struct Holder &mut i32> { //~^ ERROR: missing lifetime specifier f: F, } fn main() {}