Skip to content

Commit 44f959d

Browse files
XAMPPRockypietroalbini
authored andcommitted
Update RELEASES.md for 1.41.0
1 parent 4f763ac commit 44f959d

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

RELEASES.md

+116
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,119 @@
1+
Version 1.41.0 (2020-01-30)
2+
===========================
3+
4+
Language
5+
--------
6+
7+
- [You can now pass type parameters to foreign items when implementing
8+
traits.][65879] E.g. You can now write `impl<T> From<Foo> for Vec<T> {}`.
9+
- [You can now arbitrarily nest receiver types in the `self` position.][64325] E.g. you can
10+
now write `fn foo(self: Box<Box<Self>>) {}`. Previously only `Self`, `&Self`,
11+
`&mut Self`, `Arc<Self>`, `Rc<Self>`, and `Box<Self>` were allowed.
12+
- [You can now use any valid identifier in a `format_args` macro.][66847]
13+
Previously identifiers starting with an underscore were not allowed.
14+
- [Visibility modifiers (e.g. `pub`) are now syntactically allowed on trait items and
15+
enum variants.][66183] These are still rejected semantically, but
16+
can be seen and parsed by procedural macros and conditional compilation.
17+
18+
Compiler
19+
--------
20+
21+
- [Rustc will now warn if you have unused loop `'label`s.][66325]
22+
- [Removed support for the `i686-unknown-dragonfly` target.][67255]
23+
- [Added tier 3 support\* for the `riscv64gc-unknown-linux-gnu` target.][66661]
24+
- [You can now pass an arguments file passing the `@path` syntax
25+
to rustc.][66172] Note that the format differs somewhat from what is
26+
found in other tooling; please see [the documentation][argfile-docs] for
27+
more information.
28+
- [You can now provide `--extern` flag without a path, indicating that it is
29+
available from the search path or specified with an `-L` flag.][64882]
30+
31+
\* Refer to Rust's [platform support page][forge-platform-support] for more
32+
information on Rust's tiered platform support.
33+
34+
[argfile-docs]: https://doc.rust-lang.org/nightly/rustc/command-line-arguments.html#path-load-command-line-flags-from-a-path
35+
36+
Libraries
37+
---------
38+
39+
- [The `core::panic` module is now stable.][66771] It was already stable
40+
through `std`.
41+
- [`NonZero*` numerics now implement `From<NonZero*>` if it's a smaller integer
42+
width.][66277] E.g. `NonZeroU16` now implements `From<NonZeroU8>`.
43+
- [`MaybeUninit<T>` now implements `fmt::Debug`.][65013]
44+
45+
Stabilized APIs
46+
---------------
47+
48+
- [`Result::map_or`]
49+
- [`Result::map_or_else`]
50+
- [`std::rc::Weak::weak_count`]
51+
- [`std::rc::Weak::strong_count`]
52+
- [`std::sync::Weak::weak_count`]
53+
- [`std::sync::Weak::strong_count`]
54+
55+
Cargo
56+
-----
57+
58+
- [Cargo will now document all the private items for binary crates
59+
by default.][cargo/7593]
60+
- [`cargo-install` will now reinstall the package if it detects that it is out
61+
of date.][cargo/7560]
62+
- [Cargo.lock now uses a more git friendly format that should help to reduce
63+
merge conflicts.][cargo/7579]
64+
- [You can now override specific dependencies's build settings][cargo/7591] E.g.
65+
`[profile.dev.overrides.image] opt-level = 2` sets the `image` crate's
66+
optimisation level to `2` for debug builds. You can also use
67+
`[profile.<profile>.build_overrides]` to override build scripts and
68+
their dependencies.
69+
70+
Misc
71+
----
72+
73+
- [You can now specify `edition` in documentation code blocks to compile the block
74+
for that edition.][66238] E.g. `edition2018` tells rustdoc that the code sample
75+
should be compiled the 2018 edition of Rust.
76+
- [You can now provide custom themes to rustdoc with `--theme`, and check the
77+
current theme with `--check-theme`.][54733]
78+
- [You can use `#[doc(cfg(item))]` to document that a item is only available with
79+
certain features.][61351]
80+
81+
Compatibility Notes
82+
-------------------
83+
84+
- [As previously announced 1.41.0 will be the last tier 1 release for 32-bit
85+
Apple targets.][apple-32bit-drop] This means that the source code is still
86+
available to build, but the targets are no longer being tested and release
87+
binaries for those platforms will no longer be distributed by the Rust project.
88+
Please refer to the linked blog post for more information.
89+
90+
[54733]: https://github.com/rust-lang/rust/pull/54733/
91+
[61351]: https://github.com/rust-lang/rust/pull/61351/
92+
[67255]: https://github.com/rust-lang/rust/pull/67255/
93+
[66661]: https://github.com/rust-lang/rust/pull/66661/
94+
[66771]: https://github.com/rust-lang/rust/pull/66771/
95+
[66847]: https://github.com/rust-lang/rust/pull/66847/
96+
[66238]: https://github.com/rust-lang/rust/pull/66238/
97+
[66277]: https://github.com/rust-lang/rust/pull/66277/
98+
[66325]: https://github.com/rust-lang/rust/pull/66325/
99+
[66172]: https://github.com/rust-lang/rust/pull/66172/
100+
[66183]: https://github.com/rust-lang/rust/pull/66183/
101+
[65879]: https://github.com/rust-lang/rust/pull/65879/
102+
[65013]: https://github.com/rust-lang/rust/pull/65013/
103+
[64882]: https://github.com/rust-lang/rust/pull/64882/
104+
[64325]: https://github.com/rust-lang/rust/pull/64325/
105+
[cargo/7560]: https://github.com/rust-lang/cargo/pull/7560/
106+
[cargo/7579]: https://github.com/rust-lang/cargo/pull/7579/
107+
[cargo/7591]: https://github.com/rust-lang/cargo/pull/7591/
108+
[cargo/7593]: https://github.com/rust-lang/cargo/pull/7593/
109+
[`Result::map_or_else`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.map_or_else
110+
[`Result::map_or`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.map_or
111+
[`std::rc::Weak::weak_count`]: https://doc.rust-lang.org/std/rc/struct.Weak.html#method.weak_count
112+
[`std::rc::Weak::strong_count`]: https://doc.rust-lang.org/std/rc/struct.Weak.html#method.strong_count
113+
[`std::sync::Weak::weak_count`]: https://doc.rust-lang.org/std/sync/struct.Weak.html#method.weak_count
114+
[`std::sync::Weak::strong_count`]: https://doc.rust-lang.org/std/sync/struct.Weak.html#method.strong_count
115+
[apple-32bit-drop]: https://blog.rust-lang.org/2020/01/03/reducing-support-for-32-bit-apple-targets.html
116+
1117
Version 1.40.0 (2019-12-19)
2118
===========================
3119

0 commit comments

Comments
 (0)