Wrong diagnostic when returning _ with a lifetime · Issue #125488 · rust-lang/rust (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@oriongonza

Description

@oriongonza

The code

struct S<'a>(&'a ()); fn f(s: S<'_>) -> _ { s }

Emits this diagnostic, which is wrong in this case.

error[E0121]: the placeholder _ is not allowed within types on item signatures for return types --> src/lib.rs:2:19 | 2 | fn f(s: S<'_>) -> _ { | ^ | | | not allowed in type signatures | help: replace with the correct return type: S<'static>

For more information about this error, try rustc --explain E0121.

It should say help: replace with the correct return type: S<'_>
cc: rust-lang/rust-analyzer#16676