Closed
Description
This is a place holder for various refactorings going on in the trait system aimed, ultimately, at improving efficiency and correctness. Some of the key goals include lazy normalization, better caching, and removing many of the trait-related overflow errors. I plan to flesh out details better here as we go.
- Remove the "leak check" in favor of "universes"
- @sgrif plans to do this; a lot of it has been done in an older branch
- The plan is in this gist.
- The primary goal here is to get the code in place so we can do a crater run, since this is not an entirely backwards compatible change (though it fixes some soundness bugs).
- Canonicalization + normalization query
- @nikomatsakis is working on this presently, see introduce canonical queries, use for normalization and dropck-outlives #48411
- Integrate universes into canonicalization (handle universes in canonicalization #48696)
- re-remove the leak-check, which has been re-added (eventual goal: re-remove leak-check from compiler #59490)
- implement lazy normalization (Tracking issue for "Lazy normalization" #60471)
Metadata
Metadata
Assignees
Labels
Area: Trait systemCategory: An issue tracking the progress of sth. like the implementation of an RFCStatus: The implementation is incomplete.Status: It's hard to tell what's been done and what hasn't! Someone should do some investigation.Relevant to the compiler team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.Working group: Traits, https://internals.rust-lang.org/t/announcing-traits-working-group/6804