Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NLL: document specs for (new) semantics in rust ref (incl. deviations from RFC) #54129

Open
pnkfelix opened this issue Sep 11, 2018 · 5 comments
Labels
A-borrow-checker Area: The borrow checker A-lifetimes Area: Lifetimes / regions A-NLL Area: Non-lexical lifetimes (NLL) NLL-reference Reference material for NLL P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@pnkfelix
Copy link
Member

pnkfelix commented Sep 11, 2018

The NLL RFC provided a specification for what we planned to implement. (Or at least it tried to do so.)

Since then, the NLL implementation made something that deviated in various ways from that specification.

This ticket is just noting that:

  1. we did deviate in various ways, and
  2. we should plan to document the actual semantics, in a manner suitable for the rust reference.

It would be good to link to here any PRs/issues where such deviations were implemented or discussed

@pnkfelix pnkfelix added A-NLL Area: Non-lexical lifetimes (NLL) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. A-lifetimes Area: Lifetimes / regions A-borrow-checker Area: The borrow checker labels Sep 11, 2018
@nikomatsakis

This comment has been minimized.

@nikomatsakis
Copy link
Contributor

Here are some things I would like to see if a final Rust Reference addition:

  • Describing our handling of match, which turned out to be a significant complication (see e.g. this comment
  • Describing how the move analysis works
    • In particular perhaps some of the limitations around handling structs and things?
  • Describing the special treatment of Box
  • "Dangly paths", however that winds up being resolved

@nikomatsakis
Copy link
Contributor

Marking as deferred as this is not an edition blocker.

@pnkfelix
Copy link
Member Author

Re-triaging for #56754. P-medium.

@pnkfelix pnkfelix added P-medium Medium priority and removed NLL-deferred labels Dec 21, 2018
@nikomatsakis nikomatsakis added the NLL-reference Reference material for NLL label Jan 23, 2019
@steveklabnik
Copy link
Member

Triage: this issue is on the rust repo, but is tracking work for the reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-borrow-checker Area: The borrow checker A-lifetimes Area: Lifetimes / regions A-NLL Area: Non-lexical lifetimes (NLL) NLL-reference Reference material for NLL P-medium Medium priority T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants