Skip to content

Commit a578ac5

Browse files
authored
Rollup merge of #72033 - XAMPPRocky:relnotes-1.44.0, r=Mark-Simulacrum
Update RELEASES.md for 1.44.0 ### [Rendered](https://github.com/XAMPPRocky/rust/blob/relnotes-1.44.0/RELEASES.md) r? @Mark-Simulacrum cc @rust-lang/release
2 parents 0e9e408 + 692f4ec commit a578ac5

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed

RELEASES.md

+160
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,163 @@
1+
Version 1.44.0 (2020-06-04)
2+
==========================
3+
4+
Language
5+
--------
6+
- [You can now use `async/.await` with `#[no_std]` enabled.][69033]
7+
- [Added the `unused_braces` lint.][70081]
8+
9+
**Syntax-only changes**
10+
11+
- [Expansion-driven outline module parsing][69838]
12+
```rust
13+
#[cfg(FALSE)]
14+
mod foo {
15+
mod bar {
16+
mod baz; // `foo/bar/baz.rs` doesn't exist, but no error!
17+
}
18+
}
19+
```
20+
21+
These are still rejected semantically, so you will likely receive an error but
22+
these changes can be seen and parsed by macros and conditional compilation.
23+
24+
Compiler
25+
--------
26+
- [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156]
27+
Additionally when in incremental mode rustc defaults to 256 codegen units.
28+
- [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and
29+
a panic is thrown.][67502]
30+
- [Added tier 3\* support for the `aarch64-unknown-none` and
31+
`aarch64-unknown-none-softfloat` targets.][68334]
32+
- [Added tier 3 support for `arm64-apple-tvos` and
33+
`x86_64-apple-tvos` targets.][68191]
34+
35+
36+
Libraries
37+
---------
38+
- [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows
39+
`vec![]` to be able to be used in `const` contexts.
40+
- [`convert::Infallible` now implements `Hash`.][70281]
41+
- [`OsString` now implements `DerefMut` and `IndexMut` returning
42+
a `&mut OsStr`.][70048]
43+
- [Unicode 13 is now supported.][69929]
44+
- [`String` now implements `From<&mut str>`.][69661]
45+
- [`IoSlice` now implements `Copy`.][69403]
46+
- [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32.
47+
- [`proc_macro::LexError` now implements `fmt::Display` and `Error`.][68899]
48+
- [`from_le_bytes`, `to_le_bytes`, `from_be_bytes`, `to_be_bytes`,
49+
`from_ne_bytes`, and `to_ne_bytes` methods are now `const` for all
50+
integer types.][69373]
51+
52+
Stabilized APIs
53+
---------------
54+
- [`PathBuf::with_capacity`]
55+
- [`PathBuf::capacity`]
56+
- [`PathBuf::clear`]
57+
- [`PathBuf::reserve`]
58+
- [`PathBuf::reserve_exact`]
59+
- [`PathBuf::shrink_to_fit`]
60+
- [`f32::to_int_unchecked`]
61+
- [`f64::to_int_unchecked`]
62+
- [`Layout::align_to`]
63+
- [`Layout::pad_to_align`]
64+
- [`Layout::array`]
65+
- [`Layout::extend`]
66+
67+
Cargo
68+
-----
69+
- [Added the `cargo tree` command which will print a tree graph of
70+
your dependencies.][cargo/8062] E.g.
71+
```
72+
mdbook v0.3.2 (/Users/src/rust/mdbook)
73+
├── ammonia v3.0.0
74+
│ ├── html5ever v0.24.0
75+
│ │ ├── log v0.4.8
76+
│ │ │ └── cfg-if v0.1.9
77+
│ │ ├── mac v0.1.1
78+
│ │ └── markup5ever v0.9.0
79+
│ │ ├── log v0.4.8 (*)
80+
│ │ ├── phf v0.7.24
81+
│ │ │ └── phf_shared v0.7.24
82+
│ │ │ ├── siphasher v0.2.3
83+
│ │ │ └── unicase v1.4.2
84+
│ │ │ [build-dependencies]
85+
│ │ │ └── version_check v0.1.5
86+
...
87+
```
88+
89+
Misc
90+
----
91+
- [Rustdoc now allows you to specify `--crate-version` to have rustdoc include
92+
the version in the sidebar.][69494]
93+
94+
Compatibility Notes
95+
-------------------
96+
- [Rustc now correctly generates static libraries on Windows GNU targets with
97+
the `.a` extension, rather than the previous `.lib`.][70937]
98+
- [Removed the `-C no_integrated_as` flag from rustc.][70345]
99+
- [The `file_name` property in JSON output of macro errors now points the actual
100+
source file rather than the previous format of `<NAME macros>`.][70969]
101+
**Note:** this may not point a file that actually exists on the user's system.
102+
- [The minimum required external LLVM version has been bumped to LLVM 8.][71147]
103+
- [`mem::{zeroed, uninitialised, MaybeUninit}` will now panic when used with types
104+
that do not allow zero initialization such as `NonZeroU8`.][66059] This was
105+
previously a warning.
106+
- [In 1.45.0 (the next release) converting a `f64` to `u32` using the `as`
107+
operator has been defined as a saturating operation.][71269] This was previously
108+
undefined behaviour, you can use the `{f64, f32}::to_int_unchecked` methods to
109+
continue using the current behaviour which may desirable in rare performance
110+
sensitive situations.
111+
112+
Internal Only
113+
-------------
114+
These changes provide no direct user facing benefits, but represent significant
115+
improvements to the internals and overall performance of rustc and
116+
related tools.
117+
118+
- [dep_graph Avoid allocating a set on when the number reads are small.][69778]
119+
- [Replace big JS dict with JSON parsing.][71250]
120+
121+
[69373]: https://github.com/rust-lang/rust/pull/69373/
122+
[66059]: https://github.com/rust-lang/rust/pull/66059/
123+
[68191]: https://github.com/rust-lang/rust/pull/68191/
124+
[68899]: https://github.com/rust-lang/rust/pull/68899/
125+
[71147]: https://github.com/rust-lang/rust/pull/71147/
126+
[71250]: https://github.com/rust-lang/rust/pull/71250/
127+
[70937]: https://github.com/rust-lang/rust/pull/70937/
128+
[70969]: https://github.com/rust-lang/rust/pull/70969/
129+
[70632]: https://github.com/rust-lang/rust/pull/70632/
130+
[70281]: https://github.com/rust-lang/rust/pull/70281/
131+
[70345]: https://github.com/rust-lang/rust/pull/70345/
132+
[70048]: https://github.com/rust-lang/rust/pull/70048/
133+
[70081]: https://github.com/rust-lang/rust/pull/70081/
134+
[70156]: https://github.com/rust-lang/rust/pull/70156/
135+
[71269]: https://github.com/rust-lang/rust/pull/71269/
136+
[69838]: https://github.com/rust-lang/rust/pull/69838/
137+
[69929]: https://github.com/rust-lang/rust/pull/69929/
138+
[69661]: https://github.com/rust-lang/rust/pull/69661/
139+
[69778]: https://github.com/rust-lang/rust/pull/69778/
140+
[69494]: https://github.com/rust-lang/rust/pull/69494/
141+
[69403]: https://github.com/rust-lang/rust/pull/69403/
142+
[69033]: https://github.com/rust-lang/rust/pull/69033/
143+
[68692]: https://github.com/rust-lang/rust/pull/68692/
144+
[68334]: https://github.com/rust-lang/rust/pull/68334/
145+
[67502]: https://github.com/rust-lang/rust/pull/67502/
146+
[cargo/8062]: https://github.com/rust-lang/cargo/pull/8062/
147+
[`PathBuf::with_capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.with_capacity
148+
[`PathBuf::capacity`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.capacity
149+
[`PathBuf::clear`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.clear
150+
[`PathBuf::reserve`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve
151+
[`PathBuf::reserve_exact`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.reserve_exact
152+
[`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html#method.shrink_to_fit
153+
[`f32::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f32.html#method.to_int_unchecked
154+
[`f64::to_int_unchecked`]: https://doc.rust-lang.org/std/primitive.f64.html#method.to_int_unchecked
155+
[`Layout::align_to`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.align_to
156+
[`Layout::pad_to_align`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.pad_to_align
157+
[`Layout::array`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.array
158+
[`Layout::extend`]: https://doc.rust-lang.org/std/alloc/struct.Layout.html#method.extend
159+
160+
1161
Version 1.43.1 (2020-05-07)
2162
===========================
3163

0 commit comments

Comments
 (0)