Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated RELEASES.md for 1.21.0 #44481

Merged
merged 8 commits into from
Oct 5, 2017
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 59 additions & 1 deletion RELEASES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
Version 1.21.0 (2017-10-12)
==========================

Language
--------
- [Relaxed path syntax. You can now add type parameters to values][43540]
Example: `struct Foo<T>(T); let bar = Foo::<u8>(0);`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Foo::<u8>(0) was always possible, what #43540 does is permitting (sometimes unnecessary) :: before < in all paths, including paths passed to macros.
Previously:

my_macro!(Vec<i32>::new); // OK
my_macro!(Vec::<i32>::new); // ERROR

Now:

my_macro!(Vec<i32>::new); // OK
my_macro!(Vec::<i32>::new); // OK too


Compiler
--------
- [Upgraded jemalloc to 4.5.0][43911]
- [Enabled unwinding panics on Redox][43917]

Libraries
---------
- [Generate builtin impls for `Clone` for `[T: N]` where `N` is between 0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo [T; N]

and 32][43690]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's more than this. Clone is now implemented for all arrays with T: Clone, all tuples with every member being Clone and all function pointers.

- [`Stdin`, `Stdout`, and `Stderr` now implement `AsRawFd`.][43459]
- [`Rc` and `Arc` now implement `From<&[T]> where T: Clone`, `From<str>`,
`From<String>`, `From<Box<T>> where T: ?Sized`, and `From<Vec<T>>`.][42565]

Stabilized APIs
---------------

Cargo
-----
- [You can now call `cargo install` with multiple package names][cargo/4216]
- [Cargo commands inside a virtual workspace will now implicitly
pass `--all`][cargo/4335]

Misc
----
- [Cargo docs are moving][43916]
to [doc.rust-lang.org/cargo](//doc.rust-lang.org/cargo)
- [The rustdoc book is now available][43863]
at [doc.rust-lang.org/rustdoc](//doc.rust-lang.org/rustdoc)

Compatibility Notes
-------------------
- [Remove the trait selection impl in method::probe][43880] This may cause
breakage in subtyping corner cases.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any breakage examples?

BTW "trait selection impl in method::probe" sounds too technical for readers.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It definitely is I just couldn't think of anything better. @arielb1 would you know a better explanation and example?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Aaronepower: Maybe summarize or just link to #44224 (comment) ?

- [make JSON error's byte position start at top of file.][42973] Was previously
relative to the `CodeMap` which required unstable code.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Release note readers shouldn't need to think about named internal implementation details like CodeMap, and I'm not sure where "which required unstable code" is coming from.

Maybe something like "was previously relative to a concatenation of files in a crate"?? (I don't actually know how the compiler determines which files go in a CodeMap—and neither does typical consumer of error-message JSON, which is why we fixed this).


[42565]: /~https://github.com/rust-lang/rust/pull/42565
[42973]: /~https://github.com/rust-lang/rust/pull/42973
[43459]: /~https://github.com/rust-lang/rust/pull/43459
[43540]: /~https://github.com/rust-lang/rust/pull/43540
[43690]: /~https://github.com/rust-lang/rust/pull/43690
[43863]: /~https://github.com/rust-lang/rust/pull/43863
[43880]: /~https://github.com/rust-lang/rust/pull/43880
[43911]: /~https://github.com/rust-lang/rust/pull/43911
[43916]: /~https://github.com/rust-lang/rust/pull/43916
[43917]: /~https://github.com/rust-lang/rust/pull/43917
[cargo/4216]: /~https://github.com/rust-lang/cargo/pull/4216
[cargo/4335]: /~https://github.com/rust-lang/cargo/pull/4335


Version 1.20.0 (2017-08-31)
===========================

Expand Down Expand Up @@ -110,7 +168,7 @@ Compatibility Notes
- [Functions with `'static` in their return types will now not be as usable as
if they were using lifetime parameters instead.][42417]
- [The reimplementation of `{f32, f64}::is_sign_{negative, positive}` now
takes the sign of NaN into account where previously didn't.][42430]
takes the sign of NaN into account where previously didn't.][42430]

[42033]: /~https://github.com/rust-lang/rust/pull/42033
[42155]: /~https://github.com/rust-lang/rust/pull/42155
Expand Down