rust/tests/ui/lifetimes/mut-ref-owned-suggestion.rs
reddevilmidzy e0d9d470df Fix invalid mut T suggestion for &mut T in missing lifetime error
* Find ref prefix span for owned suggestions
* Improve missing lifetime suggestions for `&mut str`
2026-02-17 10:18:08 +00:00

29 lines
860 B
Rust

//! Regression test for <https://github.com/rust-lang/rust/issues/150077>
//! 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<dyn Fn() -> &mut i32>) {}
//~^ ERROR: missing lifetime specifier
fn trait_bound<F: Fn() -> &mut i32>(_f: F) {}
//~^ ERROR: missing lifetime specifier
fn nested_result(_f: impl Fn() -> Result<&mut i32, ()>) {}
//~^ ERROR: missing lifetime specifier
struct Holder<F: Fn() -> &mut i32> {
//~^ ERROR: missing lifetime specifier
f: F,
}
fn main() {}