In RFC 3498 "Lifetime Capture Rules 2024" we specify that lifetime parameters from for<..> binders are captured under the rules.
Currently opaque types in Rust do not support capturing these. In early drafts of the document, we had called the missing feature "higher ranked lifetime bounds on nested opaque types". However, we had then noticed that the relevant error message in rustc called these "higher kinded" instead:
error: higher kinded lifetime bounds on nested opaque types are not supported yet
We changed later drafts to follow that language. But that language was wrong. These are definitely "higher ranked" lifetime bounds, not "higher kinded" ones, whatever that might mean. We've now fixed the error message emitted by rustc in:
In RFC 3498 "Lifetime Capture Rules 2024" we specify that lifetime parameters from
for<..>
binders are captured under the rules.Currently opaque types in Rust do not support capturing these. In early drafts of the document, we had called the missing feature "higher ranked lifetime bounds on nested opaque types". However, we had then noticed that the relevant error message in
rustc
called these "higher kinded" instead:We changed later drafts to follow that language. But that language was wrong. These are definitely "higher ranked" lifetime bounds, not "higher kinded" ones, whatever that might mean. We've now fixed the error message emitted by
rustc
in:Correspondingly, let's now fix this error in the RFC.
Rendered
cc @oli-obk @compiler-errors