Skip to content

Commit da82dd7

Browse files
committed
docs.rs: update article with second target replacement
1 parent bbfa329 commit da82dd7

File tree

1 file changed

+36
-20
lines changed

1 file changed

+36
-20
lines changed

content/docs-rs-changed-default-targets.md

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,49 @@ team = "the docs.rs team"
88
team_url = "https://rust-lang.org/governance/teams/dev-tools/#team-docs-rs"
99
+++
1010

11-
With Apple's transition from x86_64 to its own silicon (ARM64), the Rust project
12-
has updated its platform support tiers.
11+
# Changes to Default Build Targets on docs.rs
1312

14-
Consequently, the `aarch64-apple-darwin` target has been promoted to Tier 1,
15-
while the `x86_64-apple-darwin` target has been demoted to Tier 2. You can read
16-
more about this change in
17-
[RFC 3671](https://github.com/rust-lang/rfcs/pull/3671) and
18-
[RFC 3841](https://github.com/rust-lang/rfcs/pull/3841).
13+
This post announces two changes to the list of default targets used to build
14+
documentation on docs.rs.
1915

20-
To align with this ecosystem shift, docs.rs is updating its default build
21-
targets.
16+
Crate authors can specify a custom list of targets using
17+
[docs.rs metadata in `Cargo.toml`](https://docs.rs/about/metadata). If this
18+
metadata is not provided, docs.rs falls back to a default list. We are updating
19+
this list to better reflect the current state of the Rust ecosystem.
2220

23-
Crates can provide [docs.rs metadata](https://docs.rs/about/metadata) to specify
24-
which targets to build for. If this metadata is not provided, docs.rs uses a
25-
default list of targets. We are now switching the default macOS target in this
26-
list from `x86_64-apple-darwin` to `aarch64-apple-darwin`.
21+
## Apple Silicon (ARM64) Replaces x86_64
2722

28-
The new default target list is:
23+
Reflecting Apple's transition from x86_64 to its own ARM64 silicon, the Rust
24+
project has updated its platform support tiers. The `aarch64-apple-darwin`
25+
target is now Tier 1, while `x86_64-apple-darwin` has moved to Tier 2. You can
26+
read more about this in [RFC 3671](https://github.com/rust-lang/rfcs/pull/3671)
27+
and [RFC 3841](https://github.com/rust-lang/rfcs/pull/3841).
28+
29+
To align with this, docs.rs will now use `aarch64-apple-darwin` as the default
30+
target for Apple platforms instead of `x86_64-apple-darwin`.
31+
32+
## Linux ARM64 Replaces 32-bit x86
33+
34+
Support for 32-bit `i686` architectures is declining, and major Linux
35+
distributions have begun to phase it out.
36+
37+
Consequently, we are replacing the `i686-unknown-linux-gnu` target with
38+
`aarch64-unknown-linux-gnu` in our default set.
39+
40+
## New Default Target List
41+
42+
The updated list of default targets is:
2943

3044
- `x86_64-unknown-linux-gnu`
31-
- `aarch64-apple-darwin` (previously: `x86_64-apple-darwin`)
45+
- `aarch64-apple-darwin` (replaces `x86_64-apple-darwin`)
3246
- `x86_64-pc-windows-msvc`
33-
- `i686-unknown-linux-gnu`
47+
- `aarch64-unknown-linux-gnu` (replaces `i686-unknown-linux-gnu`)
3448
- `i686-pc-windows-msvc`
3549

36-
## If your crate requires the old target list
50+
## Opting Out
3751

38-
If your crate needs to be built for the previous default target list, you can
39-
explicitly define it using [docs.rs metadata](https://docs.rs/about/metadata) in
40-
your `Cargo.toml`:
52+
If your crate requires the previous default target list, you can explicitly
53+
define it in your `Cargo.toml`:
4154

4255
```toml
4356
[package.metadata.docs.rs]
@@ -49,3 +62,6 @@ targets = [
4962
"i686-pc-windows-msvc"
5063
]
5164
```
65+
66+
Note that docs.rs continues to support any target available in the Rust
67+
toolchain; only the _default_ list has changed.

0 commit comments

Comments
 (0)