-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Closed
Copy link
Labels
A-inferenceArea: Type inferenceArea: Type inferenceA-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-never_type`#![feature(never_type)]``#![feature(never_type)]`S-tracking-design-concernsStatus: There are blocking design concerns.Status: There are blocking design concerns.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
As part of #65992, we want to create a lint that warns about cases where changing the fallback for type variables from ()
to !
will create problems. This issue is tracking that implementation work.
Edit 2020-10-05: stream for work on this, https://rust-lang.zulipchat.com/#narrow/stream/259160-t-lang.2Fproject-never-type
Current status and next steps
- prototype lint and verify that it works on the example test cases
- turn the lint to deny by default and make sure libstd builds
- create a helper function for adding to
dead_nodes
that explains what is going on, document that this function is invoked on the "way up" the tree, so that nodes are added todead_nodes
set if they diverge before completing (or they never start) - test against the objc crate version that had problems
- run a "crater check" run and see the results
- improve the error message
Metadata
Metadata
Assignees
Labels
A-inferenceArea: Type inferenceArea: Type inferenceA-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCF-never_type`#![feature(never_type)]``#![feature(never_type)]`S-tracking-design-concernsStatus: There are blocking design concerns.Status: There are blocking design concerns.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.