Rust platform triples should omit and ignore the vendor
Nobody has claimed this yet.
- Dominant language
- Markdown
- Stars
- 6.6k
- Forks
- 1.7k
- Avg merge
- 16h 14m
- Merged PRs (30d)
- 1
Description
Currently, rust and cargo use the full platform identity for identifying platforms (<arch>-<vendor>-<os>[-<libc]).
However, the vendor attribute in a platform identity (commonly known as platform triples) is a private attribute intended to indicate variants and configurations. For example, RH/Fedora based distros use <arch>-redhat-linux-gnu for the platform identity, Mageia based ones use <arch>-mageia-linux-gnu, and so on. However, for the purposes of determining platform equivalence, only arch, os, and libc matter.
The tooling should be changed to ignore the vendor attribute and platforms should be similarly altered so that the platform triple should only contain the meaningful attributes.
For example, instead of saying x86_64-unknown-linux-gnu, it would be x86_64-linux-gnu. Alternatively, simply forcing the vendor to always be considered something generic (like pc) would be sufficient.
The vendor attribute is meaningful to humans, but not tools.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing how Rust and Cargo represent and compare platform identities, then trace where the vendor attribute affects platform triples. Compare identities that differ only by vendor, such as x86_64-unknown-linux-gnu and x86_64-linux-gnu. Done means equivalent platforms ignore vendor differences and the resulting platform representation contains only meaningful attributes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100