rust-lang / rust-lang/rfcs

Explicit lifetimes

Open
#389 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-lifetimes A-syntax postponed T-lang
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.