Fix "higher kinded" -> "higher ranked" in RFC 3498#3590
Merged
Conversation
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: - rust-lang/rust#122100 Correspondingly, let's now fix this error in the RFC.
3 tasks
fmease
approved these changes
Mar 19, 2024
Member
There was a problem hiding this comment.
Thanks for cleaning this up! 🙏 Higher ranked is definitely the correct term here.
A higher kinded lifetime bound would be something of kind K -> Constraint with K in Type, Region or Const, haha, if we assume an outlives-bound. E.g., a higher-kinded B where B<'a> normalizes to outlives-bound 'a: 'b with lifetime 'a variable, 'b fixed or a higher-kinded P where P<T> normalizes to outlives-bound T: 'a with T variable, 'a fixed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
rustccalled 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
rustcin:Correspondingly, let's now fix this error in the RFC.
Rendered
cc @oli-obk @compiler-errors