-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
T-compilerAdd this label so rfcbot knows to poll the compiler teamAdd this label so rfcbot knows to poll the compiler teamfinal-comment-periodThe FCP has started, most (if not all) team members are in agreementThe FCP has started, most (if not all) team members are in agreementmajor-changeA proposal to make a major change to rustcA proposal to make a major change to rustcto-announceAnnounce this issue on triage meetingAnnounce this issue on triage meeting
Description
Proposal
Currently we emit the unreachable code lint inside of rustc_hir_typeck using the same machinery as we use for making diverging blocks !. This has two problems:
- The lint doesn't have full information, as inference hasn't happened yet. See for example unreachable code is not detected if it depends on never type fallback rust#146085
- Changing the lint behavior changes code semantics, because we use the same reachability information for type checking
I propose to fix this by moving the lint code from rustc_hir_typeck to working on THIR (as suggested by @oli-obk when I talked to them) or to a normal late lint.
Mentors or Reviewers
Process
The main points of the Major Change Process are as follows:
- File an issue describing the proposal.
- A compiler team member who is knowledgeable in the area can second by writing
@rustbot secondor kickoff a team FCP with@rfcbot fcp $RESOLUTION.- Refer to Proposals, Approvals and Stabilization docs for when a second is sufficient, or when a full team FCP is required.
- Once an MCP is seconded, the Final Comment Period begins.
- Final Comment Period lasts for 10 days after all outstanding concerns are solved.
- Outstanding concerns will block the Final Comment Period from finishing. Once all concerns are resolved, the 10 day countdown is restarted.
- If no concerns are raised after 10 days since the resolution of the last outstanding concern, the MCP is considered approved.
You can read more about Major Change Proposals on forge.
Metadata
Metadata
Assignees
Labels
T-compilerAdd this label so rfcbot knows to poll the compiler teamAdd this label so rfcbot knows to poll the compiler teamfinal-comment-periodThe FCP has started, most (if not all) team members are in agreementThe FCP has started, most (if not all) team members are in agreementmajor-changeA proposal to make a major change to rustcA proposal to make a major change to rustcto-announceAnnounce this issue on triage meetingAnnounce this issue on triage meeting