-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
make the epoch Enable All The ThingsΒ #48790
Copy link
Copy link
Closed
Labels
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 RFCT-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.T-langRelevant to the language teamRelevant to the language teamWG-epochWorking group: Epoch (2018) managementWorking group: Epoch (2018) management
Metadata
Metadata
Assignees
Labels
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 RFCT-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.T-langRelevant to the language teamRelevant to the language teamWG-epochWorking group: Epoch (2018) managementWorking group: Epoch (2018) management
Type
Fields
Give feedbackNo fields configured for issues without a type.
So @Manishearth added
-Zepoch=2018. It's time to make it your One Stop Shop for turning on all the feature gates and things. This issue is tracking the feature gates and lints that should be enable by-Zepoch=2018.This issue is meant to serve as a master issue for tracking the full set of feature gates and language changes as well. It somewhat duplicates #46889 in that respect, but it's more targeted.
Key
π§ Still needs work
π The code is on nightly, but we need to link it to the
-Zepochflag. Help wanted!π Good to go, waiting for us to pull the trigger
β Something needs to be resolved.
β Done
Feature gates
match_default_bindings(tracking issue for default binding modes in match (RFC 2005, match_default_bindings)Β #42640)nll(non-lexical lifetimes (NLL) tracking issueΒ #43234)underscore_lifetime(Tracking issue for'_Β #48469)in_band_lifetimes(Tracking issue for RFC 2115: In-band lifetime bindingsΒ #44524)universal_impl_trait(Tracking issue forimpl Trait(RFC 1522, RFC 1951, RFC 2071)Β #34511))conservative_impl_trait(Tracking issue forimpl Trait(RFC 1522, RFC 1951, RFC 2071)Β #34511)dyn_trait(Tracking issue for RFC 2113:dyn TraitSyntax for Trait Objects: Take 2 Β #44662)copy_closures(Tracking issue for RFC 2132: copy_closures/clone_closuresΒ #44490)clone_closures(Tracking issue for RFC 2132: copy_closures/clone_closuresΒ #44490)termination_trait(Tracking issue for RFC 1937:?inmainΒ #43301)Lints
These lints cover cases where the preferred syntax is changing. Per the epoch RFC, all such changes must have a lint that starts to warn in the old epoch. The preference is for this lint to move to deny-by-default in the new epoch, though in some cases we may choose to create a hard error (not configurable) instead.
We are not ready, I think, to start warning by default yet; therefore, the warn-by-default on master for most lints is marked π.
tyvar_behind_raw_pointerTracking issue for future-incompatibility linttyvar_behind_raw_pointerΒ #46906bare_trait_objectelided_lifetime_in_pathelided_lifetime_in_pathtriggers for theformat!macroΒ #48385)single_use_lifetime(In-band lifetimes: Lint against single-use lifetime namesΒ #44752)dynkeyword lintcatchkeyword lint (lint forcatchused as identifierΒ #48791)unusued_pub??