-
Notifications
You must be signed in to change notification settings - Fork 13.9k
Open
Labels
B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.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-cfg_version`#![feature(cfg_version)]``#![feature(cfg_version)]`I-lang-radarItems that are on lang's radar and will need eventual work or consideration.Items that are on lang's radar and will need eventual work or consideration.T-langRelevant to the language teamRelevant to the language team
Description
This is a tracking issue for #[cfg(version(..))] (rust-lang/rfcs#2523).
Steps:
- Implement RFC 2523,
#[cfg(version(..))]#71314 - Adjust cfg(version) to lang team decision #72001
- Replace version_check dependency with own version parsing code #81259
- cfg(version): treat nightlies as complete #81468
- Document cfg(version) reference#981
- Adjust documentation (see instructions on rustc-guide)
- Stabilization PR (see instructions on rustc-guide)
- Stabilization PR 1: Stabilize
#[cfg(version(...))]#141137 (closed due to ahas_cfg_versiondesign consideration) - Stabilization PR 2: Stabilize
#[cfg(version(...))], take 2 #141766
- Stabilization PR 1: Stabilize
Unresolved questions:
-
What is
cfg(version(...))relative to in terms of nightly compilers?We could check against what
rustc --versionsays, e.g. nightly being1.40.0, beta being1.39.0, and stable being1.38.0. We could also havecfg(version(...))at most be relative to the beta compiler. See the RFC for a longer discussion. -
Should we also support
version = "..."so that crates having a MSRV below whenversion(...)was stabilized can use the flag? -
Dependency updates cause language changes (src tarballs are vendored without respecting lockfile #79010)
elichai, mominul, mmstick, GrayJack, jhpratt and 35 moretesujialex
Metadata
Metadata
Assignees
Labels
B-RFC-approvedBlocker: Approved by a merged RFC but not yet implemented.Blocker: Approved by a merged RFC but not yet implemented.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-cfg_version`#![feature(cfg_version)]``#![feature(cfg_version)]`I-lang-radarItems that are on lang's radar and will need eventual work or consideration.Items that are on lang's radar and will need eventual work or consideration.T-langRelevant to the language teamRelevant to the language team