Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking issue for cfg_target_vendor #29718

Closed
aturon opened this issue Nov 9, 2015 · 6 comments · Fixed by #57465
Closed

Tracking issue for cfg_target_vendor #29718

aturon opened this issue Nov 9, 2015 · 6 comments · Fixed by #57465
Labels
B-unstable Blocker: Implemented in the nightly compiler and unstable. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-dev-tools Relevant to the dev-tools subteam, which will review and decide on the PR/issue. T-lang Relevant to the language team, which will review and decide on the PR/issue.

Comments

@aturon
Copy link
Member

aturon commented Nov 9, 2015

Allows conditional compilation based on the target vendor, added in #28612. This issue tracks stabilization.

@aturon aturon added T-lang Relevant to the language team, which will review and decide on the PR/issue. B-unstable Blocker: Implemented in the nightly compiler and unstable. labels Nov 9, 2015
@nrc nrc added the T-tools label Aug 17, 2016
@Mark-Simulacrum Mark-Simulacrum added T-dev-tools Relevant to the dev-tools subteam, which will review and decide on the PR/issue. and removed T-tools labels May 24, 2017
@Mark-Simulacrum Mark-Simulacrum added the C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. label Jul 22, 2017
@jeizsm
Copy link

jeizsm commented Aug 3, 2018

Hello. Why this is still unstable?

bors added a commit to rust-lang/cargo that referenced this issue Aug 3, 2018
check target env in test when use targets

Hello. It also should check for target vendor but it's still unstable for some reason rust-lang/rust#29718
@jethrogb
Copy link
Contributor

jethrogb commented Jan 1, 2019

Users will be needing this to distinguish between the in-tree x86_64-fortanix-unknown-sgx target and other all(target_arch = "x86_64", target_env = "sgx") targets, see #57231. Can this be moved to FCP for stabilization?

@nagisa
Copy link
Member

nagisa commented Jan 1, 2019

cc @rust-lang/lang ^

@joshtriplett
Copy link
Member

I don't see any risk to stabilizing target_vendor. Let's stabilize this. Could we get a stabilization PR?

@Centril
Copy link
Contributor

Centril commented Jan 1, 2019

In that stabilization PR I would like:

  • A description of behavior being stabilized
  • and of what is not
  • divergences from any RFC (there aren't any... an explanation of why)
  • links to relevant test files (both for what is accepted and what is rejected)
  • how long this has been implemented, including a link to the implementing PR.

@jethrogb
Copy link
Contributor

jethrogb commented Jan 9, 2019

stabilization PR #57465

jethrogb pushed a commit to jethrogb/rust that referenced this issue Jan 14, 2019
Centril added a commit to Centril/rust that referenced this issue Jan 14, 2019
…dor, r=joshtriplett,Centril

Stabilize cfg_target_vendor

This stabilizes the use of `cfg(target_vendor = "...")` and removes the corresponding `cfg_target_vendor` feature. Other unstable cfgs remain behind their existing feature gates.

This functionality was added back in 2015 in rust-lang#28612 to complete the coverage of target tuples (`<arch><sub>-<vendor>-<os>-<env>`). [RFC 131](https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md) governs the target specification, not including `target_vendor` seems to have just been an oversight. `target_os`, `target_family`, and `target_arch` are stable as of 1.0.0. `target_env` was also not mentioned in RFC 131, was added in rust-lang#24777, never behind a feature_gate, and insta-stable at 1.1.0.

The functionality is tested in [test/run-pass/cfg/cfg-target-vendor.rs](https://github.com/rust-lang/rust/blob/master/src/test/run-pass/cfg/cfg-target-vendor.rs).

Closes rust-lang#29718
Centril added a commit to Centril/rust that referenced this issue Jan 14, 2019
…dor, r=joshtriplett,Centril

Stabilize cfg_target_vendor

This stabilizes the use of `cfg(target_vendor = "...")` and removes the corresponding `cfg_target_vendor` feature. Other unstable cfgs remain behind their existing feature gates.

This functionality was added back in 2015 in rust-lang#28612 to complete the coverage of target tuples (`<arch><sub>-<vendor>-<os>-<env>`). [RFC 131](https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md) governs the target specification, not including `target_vendor` seems to have just been an oversight. `target_os`, `target_family`, and `target_arch` are stable as of 1.0.0. `target_env` was also not mentioned in RFC 131, was added in rust-lang#24777, never behind a feature_gate, and insta-stable at 1.1.0.

The functionality is tested in [test/run-pass/cfg/cfg-target-vendor.rs](https://github.com/rust-lang/rust/blob/master/src/test/run-pass/cfg/cfg-target-vendor.rs).

Closes rust-lang#29718
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B-unstable Blocker: Implemented in the nightly compiler and unstable. C-tracking-issue Category: A tracking issue for an RFC or an unstable feature. T-dev-tools Relevant to the dev-tools subteam, which will review and decide on the PR/issue. T-lang Relevant to the language team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants