Skip to content

Commit 8913419

Browse files
committed
Update RELEASES.md for 1.49.0
1 parent 3d6705a commit 8913419

File tree

1 file changed

+125
-3
lines changed

1 file changed

+125
-3
lines changed

RELEASES.md

Lines changed: 125 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,125 @@
1+
Version 1.49.0 (2020-11-19)
2+
============================
3+
4+
Language
5+
-----------------------
6+
7+
- [Unions now implement `Drop`, and you can now have a field in a union
8+
with `ManuallyDrop<T>`.][77547]
9+
- [You can now cast zero sized enums (0 or 1 variants) integers.][76199]
10+
- [You can now take bind by reference and by move in patterns.][76119] This
11+
allows you to selectively borrow individual components of a type. E.g.
12+
```rust
13+
#[derive(Debug)]
14+
struct Person {
15+
name: String,
16+
age: u8,
17+
}
18+
19+
let person = Person {
20+
name: String::from("Alice"),
21+
age: 20,
22+
};
23+
24+
// `name` is moved out of person, but `age` is referenced.
25+
let Person { name, ref age } = person;
26+
println!("{} {}", name, age);
27+
```
28+
- [Macros that end with a semi-colon are now treated as statements.][78376]
29+
30+
Compiler
31+
-----------------------
32+
33+
- [Added tier 1\* support for `aarch64-unknown-linux-gnu`.][78228]
34+
- [Added tier 2 support for `aarch64-apple-darwin`.][75991]
35+
- [Added tier 2 support for `aarch64-pc-windows-msvc`.][75914]
36+
- [Added tier 3 support for `mipsel-unknown-none`.][78676]
37+
- [Raised the minimum supported LLVM version to LLVM 9.][78848]
38+
- [Output from threads spawned in tests is now captured.][78227]
39+
- [TODO: rustc_target: Change os and vendor values to "none" and "unknown" for some targets][78951]
40+
41+
\* Refer to Rust's [platform support page][forge-platform-support] for more
42+
information on Rust's tiered platform support.
43+
44+
Libraries
45+
-----------------------
46+
47+
- [`RangeInclusive` now checks for exhaustion when calling `contains` and indexing.][78109]
48+
- [`ToString::to_string` now no longer shrinks the internal buffer in the default implementation.][77997]
49+
- [`ops::{Index, IndexMut}` are now implemented for fixed sized arrays of any length.][74989]
50+
51+
Stabilized APIs
52+
---------------
53+
54+
- [`slice::select_nth_unstable`]
55+
- [`slice::select_nth_unstable_by`]
56+
- [`slice::select_nth_unstable_by_key`]
57+
58+
The following previously stable methods are now `const`.
59+
60+
- [`Poll::is_ready`]
61+
- [`Poll::is_pending`]
62+
63+
Cargo
64+
-----------------------
65+
- [Building a crate with `cargo-package` should now be independently reproducible.][cargo/8864]
66+
- [`cargo-tree` now marks proc-macro crates.][cargo/8765]
67+
- [Added `CARGO_PRIMARY_PACKAGE` build-time environment variable.][cargo/8758] This
68+
variable will be set if the crate being built is one the user selected to build, either
69+
with `-p` or through defaults.
70+
- [You can now use glob patterns when specifying packages & targets.][cargo/8752]
71+
72+
73+
Compatibility Notes
74+
-------------------
75+
76+
- [Demoted `i686-unknown-freebsd` to tier 2 support.][78746]
77+
- [Rustc will now check for the validity of attributes on enum variants.][77015]
78+
Previously invalid or unused attributes were ignored.
79+
80+
Internal Only
81+
-------------
82+
These changes provide no direct user facing benefits, but represent significant
83+
improvements to the internals and overall performance of rustc and
84+
related tools.
85+
86+
- [rustc's internal crates are now compiled the `initial-exec` Thread
87+
Local Storage model.][78201]
88+
- [Calculate visibilities once in resolve.][78077]
89+
- [Added `system` to the `llvm-libunwind` bootstrap config option.][77703]
90+
- [Added `--color` for configuring terminal color support to bootstrap.][79004]
91+
92+
93+
[75991]: https://github.com/rust-lang/rust/pull/75991
94+
[78951]: https://github.com/rust-lang/rust/pull/78951
95+
[78848]: https://github.com/rust-lang/rust/pull/78848
96+
[78746]: https://github.com/rust-lang/rust/pull/78746
97+
[78376]: https://github.com/rust-lang/rust/pull/78376
98+
[78228]: https://github.com/rust-lang/rust/pull/78228
99+
[78227]: https://github.com/rust-lang/rust/pull/78227
100+
[78201]: https://github.com/rust-lang/rust/pull/78201
101+
[78109]: https://github.com/rust-lang/rust/pull/78109
102+
[78077]: https://github.com/rust-lang/rust/pull/78077
103+
[77997]: https://github.com/rust-lang/rust/pull/77997
104+
[77703]: https://github.com/rust-lang/rust/pull/77703
105+
[77547]: https://github.com/rust-lang/rust/pull/77547
106+
[77015]: https://github.com/rust-lang/rust/pull/77015
107+
[76199]: https://github.com/rust-lang/rust/pull/76199
108+
[76119]: https://github.com/rust-lang/rust/pull/76119
109+
[75914]: https://github.com/rust-lang/rust/pull/75914
110+
[74989]: https://github.com/rust-lang/rust/pull/74989
111+
[79004]: https://github.com/rust-lang/rust/pull/79004
112+
[78676]: https://github.com/rust-lang/rust/pull/78676
113+
[cargo/8864]: https://github.com/rust-lang/cargo/pull/8864
114+
[cargo/8765]: https://github.com/rust-lang/cargo/pull/8765
115+
[cargo/8758]: https://github.com/rust-lang/cargo/pull/8758
116+
[cargo/8752]: https://github.com/rust-lang/cargo/pull/8752
117+
[`slice::select_nth_unstable`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable
118+
[`slice::select_nth_unstable_by`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable_by
119+
[`slice::select_nth_unstable_by_key`]: https://doc.rust-lang.org/nightly/std/primitive.slice.html#method.select_nth_unstable_by_key
120+
[`hint::spin_loop`]: https://doc.rust-lang.org/stable/std/hint/fn.spin_loop.html
121+
122+
1123
Version 1.48.0 (2020-11-19)
2124
==========================
3125

@@ -10,7 +132,7 @@ Language
10132
Compiler
11133
--------
12134
- [Stabilised the `-C link-self-contained=<yes|no>` compiler flag.][76158] This tells
13-
`rustc` whether to link its own C runtime and libraries or to rely on a external
135+
`rustc` whether to link its own C runtime and libraries or to rely on a external
14136
linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.)
15137
- [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386]
16138
Note: If you're using cargo you must explicitly pass the `--target` flag.
@@ -82,7 +204,7 @@ Compatibility Notes
82204
- [Foreign exceptions are now caught by `catch_unwind` and will cause an abort.][70212]
83205
Note: This behaviour is not guaranteed and is still considered undefined behaviour,
84206
see the [`catch_unwind`] documentation for further information.
85-
207+
86208

87209

88210
Internal Only
@@ -102,7 +224,7 @@ related tools.
102224
[76030]: https://github.com/rust-lang/rust/pull/76030/
103225
[70212]: https://github.com/rust-lang/rust/pull/70212/
104226
[27675]: https://github.com/rust-lang/rust/issues/27675/
105-
[54121]: https://github.com/rust-lang/rust/issues/54121/
227+
[54121]: https://github.com/rust-lang/rust/issues/54121/
106228
[71274]: https://github.com/rust-lang/rust/pull/71274/
107229
[77386]: https://github.com/rust-lang/rust/pull/77386/
108230
[77153]: https://github.com/rust-lang/rust/pull/77153/

0 commit comments

Comments
 (0)