Explicit lifetimes
Nobody has claimed this yet.
- Dominant language
- Markdown
- Stars
- 6.6k
- Forks
- 1.7k
- Avg merge
- 16h 14m
- Merged PRs (30d)
- 1
Description
Currently in Rust lifetimes must be inferred. It would be nice to be able to name all lifetimes and be able to pass explicit, actual lifetime parameters to functions and data types. This is useful for 'debugging' type/borrow check errors. For lexically scoped lifetimes, this probably just means naming scopes. For non-lexically scoped lifetimes, this will be more challenging. We might not be able to do better than naming upper and lower bounds for the lifetime with named scopes.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by clarifying the proposed model for naming lexically scoped lifetimes and representing upper and lower bounds for non-lexical lifetimes. Define how explicit lifetime parameters would be passed to functions and data types, and what diagnostic behavior would demonstrate that the feature is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100