Rollup merge of #55285 - integer32llc:release-notes-improvements, r=Aaronepower
Do some copy editing on the release notes I was reading through the release notes to find something and noticed some small grammatical and consistency issues. I'm happy to revert any of these changes if folks disagree with them!
This commit is contained in:
commit
539ee06a68
1 changed files with 44 additions and 44 deletions
88
RELEASES.md
88
RELEASES.md
|
@ -4,34 +4,34 @@ Version 1.30.0 (2018-10-25)
|
||||||
Language
|
Language
|
||||||
--------
|
--------
|
||||||
- [Procedural macros are now available.][52081] These kinds of macros allow for
|
- [Procedural macros are now available.][52081] These kinds of macros allow for
|
||||||
more powerful code generation, there is a [new chapter available][proc-macros]
|
more powerful code generation. There is a [new chapter available][proc-macros]
|
||||||
in Rust Programming Language book that goes further in depth.
|
in the Rust Programming Language book that goes further in depth.
|
||||||
- [You can now use keywords as identifiers using the raw identifiers
|
- [You can now use keywords as identifiers using the raw identifiers
|
||||||
syntax (`r#`).][53236] e.g. `let r#for = true;`
|
syntax (`r#`),][53236] e.g. `let r#for = true;`
|
||||||
- [Using anonymous parameters in traits is now deprecated with a warning and
|
- [Using anonymous parameters in traits is now deprecated with a warning and
|
||||||
will be a hard error in the 2018 edition.][53272]
|
will be a hard error in the 2018 edition.][53272]
|
||||||
- [You can now use `crate` in paths.][54404] This allows you to refer to the
|
- [You can now use `crate` in paths.][54404] This allows you to refer to the
|
||||||
crate root in the path. e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`.
|
crate root in the path, e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`.
|
||||||
- [Using a external crate now no longer requires being prefixed with `::`.][54404]
|
- [Using a external crate no longer requires being prefixed with `::`.][54404]
|
||||||
e.g. previously using a external crate in a module without a use statement
|
Previously, using a external crate in a module without a use statement
|
||||||
required `let json = ::serde_json::from_str(foo);` can now be written
|
required `let json = ::serde_json::from_str(foo);` but can now be written
|
||||||
as `let json = serde_json::from_str(foo);`.
|
as `let json = serde_json::from_str(foo);`.
|
||||||
- [You can now apply the `#[used]` attribute to static items to prevent the
|
- [You can now apply the `#[used]` attribute to static items to prevent the
|
||||||
compiler from optimising them away even if they appear to be unused.][51363]
|
compiler from optimising them away, even if they appear to be unused,][51363]
|
||||||
e.g. `#[used] static FOO: u32 = 1;`
|
e.g. `#[used] static FOO: u32 = 1;`
|
||||||
- [You can now import and reexport macros from other crates with the `use`
|
- [You can now import and reexport macros from other crates with the `use`
|
||||||
syntax.][50911] Macros exported with `#[macro_export]` are now placed into
|
syntax.][50911] Macros exported with `#[macro_export]` are now placed into
|
||||||
the root module of the crate. If your macro relies on calling other local
|
the root module of the crate. If your macro relies on calling other local
|
||||||
macros it is recommended to export with the
|
macros, it is recommended to export with the
|
||||||
`#[macro_export(local_inner_macros)]` attribute so that users won't have to
|
`#[macro_export(local_inner_macros)]` attribute so users won't have to import
|
||||||
import those macros.
|
those macros.
|
||||||
- [`mod.rs` files are now optional.][54146] Previously if you had a `foo` module
|
- [`mod.rs` files are now optional.][54146] Previously, if you had a `foo` module
|
||||||
with a `bar` submodule, you would have `src/foo/mod.rs` and `src/foo/bar.rs`.
|
with a `bar` submodule, you would have `src/foo/mod.rs` and `src/foo/bar.rs`.
|
||||||
Now you can have `src/foo.rs` and `src/foo/bar.rs` to achieve the same effect.
|
Now you can have `src/foo.rs` and `src/foo/bar.rs` to achieve the same effect.
|
||||||
- [You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros
|
- [You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros
|
||||||
using the `vis` specifier.][53370]
|
using the `vis` specifier.][53370]
|
||||||
- [Non-macro attributes now allow all forms of literals not just
|
- [Non-macro attributes now allow all forms of literals, not just
|
||||||
strings.][53044] e.g. Previously you would write `#[attr("true")]` you can now
|
strings.][53044] Previously, you would write `#[attr("true")]`, and you can now
|
||||||
write `#[attr(true)]`.
|
write `#[attr(true)]`.
|
||||||
- [You can now specify a function to handle a panic in the Rust runtime with the
|
- [You can now specify a function to handle a panic in the Rust runtime with the
|
||||||
`#[panic_handler]` attribute.][51366]
|
`#[panic_handler]` attribute.][51366]
|
||||||
|
@ -54,9 +54,9 @@ Stabilized APIs
|
||||||
- [`Ipv6Addr::UNSPECIFIED`]
|
- [`Ipv6Addr::UNSPECIFIED`]
|
||||||
- [`Iterator::find_map`]
|
- [`Iterator::find_map`]
|
||||||
|
|
||||||
The following methods are a replacement methods for `trim_left`, `trim_right`,
|
The following methods are replacement methods for `trim_left`, `trim_right`,
|
||||||
`trim_left_matches`, and `trim_right_matches`. Which will be deprecated
|
`trim_left_matches`, and `trim_right_matches`, which will be deprecated
|
||||||
in 1.33.0.
|
in 1.33.0:
|
||||||
- [`str::trim_end_matches`]
|
- [`str::trim_end_matches`]
|
||||||
- [`str::trim_end`]
|
- [`str::trim_end`]
|
||||||
- [`str::trim_start_matches`]
|
- [`str::trim_start_matches`]
|
||||||
|
@ -76,12 +76,12 @@ Misc
|
||||||
----
|
----
|
||||||
- [`rustdoc` allows you to specify what edition to treat your code as with the
|
- [`rustdoc` allows you to specify what edition to treat your code as with the
|
||||||
`--edition` option.][54057]
|
`--edition` option.][54057]
|
||||||
- [`rustdoc` now has the `--color` (Specify whether to output color) and
|
- [`rustdoc` now has the `--color` (specify whether to output color) and
|
||||||
`--error-format` (Specify error format e.g. `json`) options.][53003]
|
`--error-format` (specify error format, e.g. `json`) options.][53003]
|
||||||
- [We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust
|
- [We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust
|
||||||
debug symbols.][53774]
|
debug symbols.][53774]
|
||||||
- [Attributes from Rust tools such as `rustfmt` or `clippy` are now
|
- [Attributes from Rust tools such as `rustfmt` or `clippy` are now
|
||||||
available.][53459] e.g. `#[rustfmt::skip]` will skip formatting the next item.
|
available,][53459] e.g. `#[rustfmt::skip]` will skip formatting the next item.
|
||||||
|
|
||||||
[50911]: https://github.com/rust-lang/rust/pull/50911/
|
[50911]: https://github.com/rust-lang/rust/pull/50911/
|
||||||
[51363]: https://github.com/rust-lang/rust/pull/51363/
|
[51363]: https://github.com/rust-lang/rust/pull/51363/
|
||||||
|
@ -153,7 +153,7 @@ Compiler
|
||||||
|
|
||||||
Libraries
|
Libraries
|
||||||
---------
|
---------
|
||||||
- [`Once::call_once` now no longer requires `Once` to be `'static`.][52239]
|
- [`Once::call_once` no longer requires `Once` to be `'static`.][52239]
|
||||||
- [`BuildHasherDefault` now implements `PartialEq` and `Eq`.][52402]
|
- [`BuildHasherDefault` now implements `PartialEq` and `Eq`.][52402]
|
||||||
- [`Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.][51912]
|
- [`Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.][51912]
|
||||||
- [Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
|
- [Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
|
||||||
|
@ -169,10 +169,10 @@ Stabilized APIs
|
||||||
|
|
||||||
Cargo
|
Cargo
|
||||||
-----
|
-----
|
||||||
- [Cargo can silently fix some bad lockfiles ][cargo/5831] You can use
|
- [Cargo can silently fix some bad lockfiles.][cargo/5831] You can use
|
||||||
`--locked` to disable this behaviour.
|
`--locked` to disable this behavior.
|
||||||
- [`cargo-install` will now allow you to cross compile an install
|
- [`cargo-install` will now allow you to cross compile an install
|
||||||
using `--target`][cargo/5614]
|
using `--target`.][cargo/5614]
|
||||||
- [Added the `cargo-fix` subcommand to automatically move project code from
|
- [Added the `cargo-fix` subcommand to automatically move project code from
|
||||||
2015 edition to 2018.][cargo/5723]
|
2015 edition to 2018.][cargo/5723]
|
||||||
- [`cargo doc` can now optionally document private types using the
|
- [`cargo doc` can now optionally document private types using the
|
||||||
|
@ -184,15 +184,15 @@ Misc
|
||||||
the specified level to that level.][52354] For example `--cap-lints warn`
|
the specified level to that level.][52354] For example `--cap-lints warn`
|
||||||
will demote `deny` and `forbid` lints to `warn`.
|
will demote `deny` and `forbid` lints to `warn`.
|
||||||
- [`rustc` and `rustdoc` will now have the exit code of `1` if compilation
|
- [`rustc` and `rustdoc` will now have the exit code of `1` if compilation
|
||||||
fails, and `101` if there is a panic.][52197]
|
fails and `101` if there is a panic.][52197]
|
||||||
- [A preview of clippy has been made available through rustup.][51122]
|
- [A preview of clippy has been made available through rustup.][51122]
|
||||||
You can install the preview with `rustup component add clippy-preview`
|
You can install the preview with `rustup component add clippy-preview`.
|
||||||
|
|
||||||
Compatibility Notes
|
Compatibility Notes
|
||||||
-------------------
|
-------------------
|
||||||
- [`str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.][51807]
|
- [`str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.][51807]
|
||||||
Use `str::get_unchecked(begin..end)` instead.
|
Use `str::get_unchecked(begin..end)` instead.
|
||||||
- [`std::env::home_dir` is now deprecated for its unintuitive behaviour.][51656]
|
- [`std::env::home_dir` is now deprecated for its unintuitive behavior.][51656]
|
||||||
Consider using the `home_dir` function from
|
Consider using the `home_dir` function from
|
||||||
https://crates.io/crates/dirs instead.
|
https://crates.io/crates/dirs instead.
|
||||||
- [`rustc` will no longer silently ignore invalid data in target spec.][52330]
|
- [`rustc` will no longer silently ignore invalid data in target spec.][52330]
|
||||||
|
@ -432,7 +432,7 @@ Language
|
||||||
be used as an identifier.
|
be used as an identifier.
|
||||||
- [The dyn syntax is now available.][49968] This syntax is equivalent to the
|
- [The dyn syntax is now available.][49968] This syntax is equivalent to the
|
||||||
bare `Trait` syntax, and should make it clearer when being used in tandem with
|
bare `Trait` syntax, and should make it clearer when being used in tandem with
|
||||||
`impl Trait`. Since it is equivalent to the following syntax:
|
`impl Trait` because it is equivalent to the following syntax:
|
||||||
`&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and
|
`&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and
|
||||||
`Box<Trait> == Box<dyn Trait>`.
|
`Box<Trait> == Box<dyn Trait>`.
|
||||||
- [Attributes on generic parameters such as types and lifetimes are
|
- [Attributes on generic parameters such as types and lifetimes are
|
||||||
|
@ -495,10 +495,10 @@ Cargo
|
||||||
a different directory than `target` for placing compilation artifacts.
|
a different directory than `target` for placing compilation artifacts.
|
||||||
- [Cargo will be adding automatic target inference for binaries, benchmarks,
|
- [Cargo will be adding automatic target inference for binaries, benchmarks,
|
||||||
examples, and tests in the Rust 2018 edition.][cargo/5335] If your project specifies
|
examples, and tests in the Rust 2018 edition.][cargo/5335] If your project specifies
|
||||||
specific targets e.g. using `[[bin]]` and have other binaries in locations
|
specific targets, e.g. using `[[bin]]`, and have other binaries in locations
|
||||||
where cargo would infer a binary, Cargo will produce a warning. You can
|
where cargo would infer a binary, Cargo will produce a warning. You can
|
||||||
disable this feature ahead of time by setting any of the following `autobins`,
|
disable this feature ahead of time by setting any of the following to false:
|
||||||
`autobenches`, `autoexamples`, `autotests` to false.
|
`autobins`, `autobenches`, `autoexamples`, `autotests`.
|
||||||
- [Cargo will now cache compiler information.][cargo/5359] This can be disabled by
|
- [Cargo will now cache compiler information.][cargo/5359] This can be disabled by
|
||||||
setting `CARGO_CACHE_RUSTC_INFO=0` in your environment.
|
setting `CARGO_CACHE_RUSTC_INFO=0` in your environment.
|
||||||
|
|
||||||
|
@ -514,8 +514,8 @@ Compatibility Notes
|
||||||
work.][49896] e.g. `::core::prelude::v1::StrExt::is_empty("")` will not
|
work.][49896] e.g. `::core::prelude::v1::StrExt::is_empty("")` will not
|
||||||
compile, `"".is_empty()` will still compile.
|
compile, `"".is_empty()` will still compile.
|
||||||
- [`Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}`
|
- [`Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}`
|
||||||
will only print the inner type.][48553] e.g.
|
will only print the inner type.][48553] E.g.
|
||||||
`print!("{:?}", AtomicBool::new(true))` will print `true`
|
`print!("{:?}", AtomicBool::new(true))` will print `true`,
|
||||||
not `AtomicBool(true)`.
|
not `AtomicBool(true)`.
|
||||||
- [The maximum number for `repr(align(N))` is now 2²⁹.][50378] Previously you
|
- [The maximum number for `repr(align(N))` is now 2²⁹.][50378] Previously you
|
||||||
could enter higher numbers but they were not supported by LLVM. Up to 512MB
|
could enter higher numbers but they were not supported by LLVM. Up to 512MB
|
||||||
|
@ -578,7 +578,7 @@ Version 1.26.2 (2018-06-05)
|
||||||
Compatibility Notes
|
Compatibility Notes
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
- [The borrow checker was fixed to avoid unsoundness when using match ergonomics][51117]
|
- [The borrow checker was fixed to avoid unsoundness when using match ergonomics.][51117]
|
||||||
|
|
||||||
[51117]: https://github.com/rust-lang/rust/issues/51117
|
[51117]: https://github.com/rust-lang/rust/issues/51117
|
||||||
|
|
||||||
|
@ -589,18 +589,18 @@ Version 1.26.1 (2018-05-29)
|
||||||
Tools
|
Tools
|
||||||
-----
|
-----
|
||||||
|
|
||||||
- [RLS now works on Windows][50646]
|
- [RLS now works on Windows.][50646]
|
||||||
- [Rustfmt stopped badly formatting text in some cases][rustfmt/2695]
|
- [Rustfmt stopped badly formatting text in some cases.][rustfmt/2695]
|
||||||
|
|
||||||
|
|
||||||
Compatibility Notes
|
Compatibility Notes
|
||||||
--------
|
--------
|
||||||
|
|
||||||
- [`fn main() -> impl Trait` no longer works for non-Termination
|
- [`fn main() -> impl Trait` no longer works for non-Termination
|
||||||
trait][50656]
|
trait.][50656]
|
||||||
This reverts an accidental stabilization.
|
This reverts an accidental stabilization.
|
||||||
- [`NaN > NaN` no longer returns true in const-fn contexts][50812]
|
- [`NaN > NaN` no longer returns true in const-fn contexts.][50812]
|
||||||
- [Prohibit using turbofish for `impl Trait` in method arguments][50950]
|
- [Prohibit using turbofish for `impl Trait` in method arguments.][50950]
|
||||||
|
|
||||||
[50646]: https://github.com/rust-lang/rust/issues/50646
|
[50646]: https://github.com/rust-lang/rust/issues/50646
|
||||||
[50656]: https://github.com/rust-lang/rust/pull/50656
|
[50656]: https://github.com/rust-lang/rust/pull/50656
|
||||||
|
@ -616,18 +616,18 @@ Language
|
||||||
- [Closures now implement `Copy` and/or `Clone` if all captured variables
|
- [Closures now implement `Copy` and/or `Clone` if all captured variables
|
||||||
implement either or both traits.][49299]
|
implement either or both traits.][49299]
|
||||||
- [The inclusive range syntax e.g. `for x in 0..=10` is now stable.][47813]
|
- [The inclusive range syntax e.g. `for x in 0..=10` is now stable.][47813]
|
||||||
- [The `'_` lifetime is now stable. The underscore lifetime can be used anywhere where a
|
- [The `'_` lifetime is now stable. The underscore lifetime can be used anywhere a
|
||||||
lifetime can be elided.][49458]
|
lifetime can be elided.][49458]
|
||||||
- [`impl Trait` is now stable allowing you to have abstract types in returns
|
- [`impl Trait` is now stable allowing you to have abstract types in returns
|
||||||
or in function parameters.][49255] e.g. `fn foo() -> impl Iterator<Item=u8>` or
|
or in function parameters.][49255] E.g. `fn foo() -> impl Iterator<Item=u8>` or
|
||||||
`fn open(path: impl AsRef<Path>)`.
|
`fn open(path: impl AsRef<Path>)`.
|
||||||
- [Pattern matching will now automatically apply dereferences.][49394]
|
- [Pattern matching will now automatically apply dereferences.][49394]
|
||||||
- [128-bit integers in the form of `u128` and `i128` are now stable.][49101]
|
- [128-bit integers in the form of `u128` and `i128` are now stable.][49101]
|
||||||
- [`main` can now return `Result<(), E: Debug>`][49162] in addition to `()`.
|
- [`main` can now return `Result<(), E: Debug>`][49162] in addition to `()`.
|
||||||
- [A lot of operations are now available in a const context.][46882] E.g. You
|
- [A lot of operations are now available in a const context.][46882] E.g. You
|
||||||
can now index into constant arrays, reference and dereference into constants,
|
can now index into constant arrays, reference and dereference into constants,
|
||||||
and use Tuple struct constructors.
|
and use tuple struct constructors.
|
||||||
- [Fixed entry slice patterns are now stable.][48516] e.g.
|
- [Fixed entry slice patterns are now stable.][48516] E.g.
|
||||||
```rust
|
```rust
|
||||||
let points = [1, 2, 3, 4];
|
let points = [1, 2, 3, 4];
|
||||||
match points {
|
match points {
|
||||||
|
@ -1052,7 +1052,7 @@ Language
|
||||||
Compiler
|
Compiler
|
||||||
--------
|
--------
|
||||||
- [Enabled `TrapUnreachable` in LLVM which should mitigate the impact of
|
- [Enabled `TrapUnreachable` in LLVM which should mitigate the impact of
|
||||||
undefined behaviour.][45920]
|
undefined behavior.][45920]
|
||||||
- [rustc now suggests renaming import if names clash.][45660]
|
- [rustc now suggests renaming import if names clash.][45660]
|
||||||
- [Display errors/warnings correctly when there are zero-width or
|
- [Display errors/warnings correctly when there are zero-width or
|
||||||
wide characters.][45711]
|
wide characters.][45711]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue