1
+ Version 1.46.0 (2020-08-27)
2
+ ==========================
3
+
4
+ Language
5
+ --------
6
+ - [ ` if ` , ` match ` , and ` loop ` expressions can now be used in const functions.] [ 72437 ]
7
+ - [ Additionally you are now also able to coerce and cast to slices (` &[T] ` ) in
8
+ const functions.] [ 73862 ]
9
+ - [ The ` #[track_caller] ` attribute can now be added to functions to use the
10
+ function's caller's location information for panic messages.] [ 72445 ]
11
+ - [ Recursively indexing into tuples no longer needs parentheses.] [ 71322 ] E.g.
12
+ ` x.0.0 ` over ` (x.0).0 ` .
13
+ - [ ` mem::transmute ` can now be used in static and constants.] [ 72920 ] ** Note**
14
+ You currently can't use ` mem::transmute ` in constant functions.
15
+
16
+ Compiler
17
+ --------
18
+ - [ You can now use the ` cdylib ` target on Apple iOS and tvOS platforms.] [ 73516 ]
19
+ - [ Enabled static "Position Independent Executables" by default
20
+ for ` x86_64-unknown-linux-musl ` .] [ 70740 ]
21
+
22
+ Libraries
23
+ ---------
24
+ - [ ` mem::forget ` is now a ` const fn ` .] [ 73887 ]
25
+ - [ ` String ` now implements ` From<char> ` .] [ 73466 ]
26
+ - [ The ` leading_ones ` , and ` trailing_ones ` methods have been stabilised for all
27
+ integer types.] [ 73032 ]
28
+ - [ ` vec::IntoIter<T> ` now implements ` AsRef<[T]> ` .] [ 72583 ]
29
+ - [ All non-zero integer types (` NonZeroU8 ` ) now implement ` TryFrom ` for their
30
+ zero-able equivalent (e.g. ` TryFrom<u8> ` ).] [ 72717 ]
31
+ - [ ` &[T] ` and ` &mut [T] ` now implement ` PartialEq<Vec<T>> ` .] [ 71660 ]
32
+ - [ ` (String, u16) ` now implements ` ToSocketAddrs ` .] [ 73007 ]
33
+ - [ ` vec::Drain<'_, T> ` now implements ` AsRef<[T]> ` .] [ 72584 ]
34
+
35
+ Stabilized APIs
36
+ ---------------
37
+ - [ ` Option::zip ` ]
38
+ - [ ` vec::Drain::as_slice ` ]
39
+
40
+ Cargo
41
+ -----
42
+ Added a number of new environment variables that are now available when
43
+ compiling your crate.
44
+
45
+ - [ ` CARGO_BIN_NAME ` and ` CARGO_CRATE_NAME ` ] [ cargo/8270 ] Providing the name of
46
+ the specific binary being compiled and the name of the crate.
47
+ - [ ` CARGO_PKG_LICENSE ` ] [ cargo/8325 ] The license from the manifest of the package.
48
+ - [ ` CARGO_PKG_LICENSE_FILE ` ] [ cargo/8387 ] The path to the license file.
49
+
50
+ Compatibility Notes
51
+ -------------------
52
+ - [ The target configuration option ` abi_blacklist ` has been renamed
53
+ to ` unsupported_abis ` .] [ 74150 ] The old name will still continue to work.
54
+ - [ Rustc will now warn if you have a C-like enum that implements ` Drop ` .] [ 72331 ]
55
+ This was previously accepted but will become a hard error in a future release.
56
+ - [ Rustc will fail to compile if you have a struct with
57
+ ` #[repr(i128)] ` or ` #[repr(u128)] ` .] [ 74109 ] This representation is currently only
58
+ allowed on ` enum ` s.
59
+ - [ Tokens passed to ` macro_rules! ` are now always captured.] [ 73293 ] This helps
60
+ ensure that spans have the correct information, and may cause breakage if you
61
+ were relying on receiving spans with dummy information.
62
+ - [ The InnoSetup installer for Windows is no longer available.] [ 72569 ] This was
63
+ a legacy installer that was replaced by a MSI installer a few years ago but
64
+ was still being built.
65
+ - [ ` {f32, f64}::asinh ` now returns the correct values for negative numbers.] [ 72486 ]
66
+ - [ Rustc will no longer accept overlapping trait implementations that only
67
+ differ in how the lifetime was bound.] [ 72493 ]
68
+ - [ Rustc now correctly relates the lifetime of an existential associated
69
+ type.] [ 71896 ] This fixes some edge cases where ` rustc ` would erroneously allow
70
+ you to pass a shorter lifetime than expected.
71
+
72
+ [ 74109 ] : https://github.com/rust-lang/rust/pull/74109/
73
+ [ 74150 ] : https://github.com/rust-lang/rust/pull/74150/
74
+ [ 73862 ] : https://github.com/rust-lang/rust/pull/73862/
75
+ [ 73887 ] : https://github.com/rust-lang/rust/pull/73887/
76
+ [ 73466 ] : https://github.com/rust-lang/rust/pull/73466/
77
+ [ 73516 ] : https://github.com/rust-lang/rust/pull/73516/
78
+ [ 73293 ] : https://github.com/rust-lang/rust/pull/73293/
79
+ [ 73007 ] : https://github.com/rust-lang/rust/pull/73007/
80
+ [ 73032 ] : https://github.com/rust-lang/rust/pull/73032/
81
+ [ 72920 ] : https://github.com/rust-lang/rust/pull/72920/
82
+ [ 72569 ] : https://github.com/rust-lang/rust/pull/72569/
83
+ [ 72583 ] : https://github.com/rust-lang/rust/pull/72583/
84
+ [ 72584 ] : https://github.com/rust-lang/rust/pull/72584/
85
+ [ 72717 ] : https://github.com/rust-lang/rust/pull/72717/
86
+ [ 72437 ] : https://github.com/rust-lang/rust/pull/72437/
87
+ [ 72445 ] : https://github.com/rust-lang/rust/pull/72445/
88
+ [ 72486 ] : https://github.com/rust-lang/rust/pull/72486/
89
+ [ 72493 ] : https://github.com/rust-lang/rust/pull/72493/
90
+ [ 72331 ] : https://github.com/rust-lang/rust/pull/72331/
91
+ [ 71896 ] : https://github.com/rust-lang/rust/pull/71896/
92
+ [ 71660 ] : https://github.com/rust-lang/rust/pull/71660/
93
+ [ 71322 ] : https://github.com/rust-lang/rust/pull/71322/
94
+ [ 70740 ] : https://github.com/rust-lang/rust/pull/70740/
95
+ [ cargo/8270 ] : https://github.com/rust-lang/cargo/pull/8270/
96
+ [ cargo/8325 ] : https://github.com/rust-lang/cargo/pull/8325/
97
+ [ cargo/8387 ] : https://github.com/rust-lang/cargo/pull/8387/
98
+ [ `Option::zip` ] : https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.zip
99
+ [ `vec::Drain::as_slice` ] : https://doc.rust-lang.org/stable/std/vec/struct.Drain.html#method.as_slice
100
+
101
+
102
+ Version 1.45.2 (2020-08-03)
103
+ ==========================
104
+
105
+ * [ Fix bindings in tuple struct patterns] [ 74954 ]
106
+ * [ Fix track_caller integration with trait objects] [ 74784 ]
107
+
108
+ [ 74954 ] : https://github.com/rust-lang/rust/issues/74954
109
+ [ 74784 ] : https://github.com/rust-lang/rust/issues/74784
110
+
111
+
112
+ Version 1.45.1 (2020-07-30)
113
+ ==========================
114
+
115
+ * [ Fix const propagation with references.] [ 73613 ]
116
+ * [ rustfmt accepts rustfmt_skip in cfg_attr again.] [ 73078 ]
117
+ * [ Avoid spurious implicit region bound.] [ 74509 ]
118
+ * [ Install clippy on x.py install] [ 74457 ]
119
+
120
+ [ 73613 ] : https://github.com/rust-lang/rust/pull/73613
121
+ [ 73078 ] : https://github.com/rust-lang/rust/issues/73078
122
+ [ 74509 ] : https://github.com/rust-lang/rust/pull/74509
123
+ [ 74457 ] : https://github.com/rust-lang/rust/pull/74457
124
+
125
+
1
126
Version 1.45.0 (2020-07-16)
2
127
==========================
3
128
@@ -47,7 +172,7 @@ Libraries
47
172
// Prints "abcdefghijklmnopqrstuvwxyz"
48
173
```
49
174
- [ ` OsString ` now implements ` FromStr ` .] [ 71662 ]
50
- - [ The ` saturating_neg ` method as been added to all signed integer primitive
175
+ - [ The ` saturating_neg ` method has been added to all signed integer primitive
51
176
types, and the ` saturating_abs ` method has been added for all integer
52
177
primitive types.] [ 71886 ]
53
178
- [ ` Arc<T> ` , ` Rc<T> ` now implement ` From<Cow<'_, T>> ` , and ` Box ` now
@@ -82,6 +207,9 @@ Stabilized APIs
82
207
Cargo
83
208
-----
84
209
210
+ - [ Cargo uses the ` embed-bitcode ` flag to optimize disk usage and build
211
+ time.] [ cargo/8066 ]
212
+
85
213
Misc
86
214
----
87
215
- [ Rustdoc now supports strikethrough text in Markdown.] [ 71928 ] E.g.
@@ -97,12 +225,18 @@ Compatibility Notes
97
225
- [ Rustdoc's CLI's extra error exit codes have been removed.] [ 71900 ] These were
98
226
previously undocumented and not intended for public use. Rustdoc still provides
99
227
a non-zero exit code on errors.
228
+ - [ Rustc's ` lto ` flag is incompatible with the new ` embed-bitcode=no ` .] [ 71848 ]
229
+ This may cause issues if LTO is enabled through ` RUSTFLAGS ` or ` cargo rustc `
230
+ flags while cargo is adding ` embed-bitcode ` itself. The recommended way to
231
+ control LTO is with Cargo profiles, either in ` Cargo.toml ` or ` .cargo/config ` ,
232
+ or by setting ` CARGO_PROFILE_<name>_LTO ` in the environment.
100
233
101
234
Internals Only
102
235
--------------
103
236
- [ Make clippy a git subtree instead of a git submodule] [ 70655 ]
104
237
- [ Unify the undo log of all snapshot types] [ 69464 ]
105
238
239
+ [ 71848 ] : https://github.com/rust-lang/rust/issues/71848/
106
240
[ 73420 ] : https://github.com/rust-lang/rust/issues/73420/
107
241
[ 72324 ] : https://github.com/rust-lang/rust/pull/72324/
108
242
[ 71843 ] : https://github.com/rust-lang/rust/pull/71843/
@@ -129,6 +263,7 @@ Internals Only
129
263
[ 69813 ] : https://github.com/rust-lang/rust/pull/69813/
130
264
[ 69464 ] : https://github.com/rust-lang/rust/pull/69464/
131
265
[ 68717 ] : https://github.com/rust-lang/rust/pull/68717/
266
+ [ cargo/8066 ] : https://github.com/rust-lang/cargo/pull/8066
132
267
[ `Arc::as_ptr` ] : https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.as_ptr
133
268
[ `BTreeMap::remove_entry` ] : https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.remove_entry
134
269
[ `Rc::as_ptr` ] : https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.as_ptr
0 commit comments