Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upRelease notes for 1.8 #32810
Conversation
rust-highfive
assigned
nikomatsakis
Apr 7, 2016
brson
added
the
beta-nominated
label
Apr 7, 2016
This comment has been minimized.
This comment has been minimized.
|
(rust_highfive has picked a reviewer for you, use r? to override) |
sfackler
reviewed
Apr 7, 2016
| instead return widened integers. [RFC 1415]. | ||
| * [`btree_set::{IntoIter, Iter, Range}` are covariant][1.8cv]. | ||
| * [Atomics are not volatile][1.8a]. | ||
| * [All types is `sync::mpsc` implement `fmt::Debug`][1.8mp]. |
This comment has been minimized.
This comment has been minimized.
brson
force-pushed the
brson:relnotes
branch
from
4965160
to
f4828f7
Apr 7, 2016
retep998
reviewed
Apr 7, 2016
| * [Tuple and unit enum variants from other crates are in the type | ||
| namespace][1.8tn]. | ||
| * [MSVC builds of Rust on Windows emit `.lib` files for the `staticlib` | ||
| library type instead of `.a` files][1.8st]. |
This comment has been minimized.
This comment has been minimized.
retep998
Apr 7, 2016
Member
This actually affects all Rust on Windows, both gnu and msvc. The change that is specific to msvc is that import libraries for dylibs were renamed from foo.lib to foo.dll.lib, and it is only specific to msvc because gnu currently doesn't emit import libraries.
This comment has been minimized.
This comment has been minimized.
alexcrichton
reviewed
Apr 8, 2016
| traits. [RFC 953]. | ||
| * Empty structs can be defined with braces, as in `struct Foo { }`, in | ||
| addition to the non-braced form, `struct Foo;`. [RFC 218]. | ||
| * [The `#[thread_local]` attribute can be applied to extern statics][1.8tl]. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
Apr 8, 2016
Member
This attribute isn't stable yet, so perhaps we should hold off on mentioning it?
This comment has been minimized.
This comment has been minimized.
alexcrichton
reviewed
Apr 8, 2016
| [`BitXorAssign`], [`ShlAssign`], [`ShrAssign`]. | ||
| * [The `write!` and `writeln!` macros correctly emit errors if any of | ||
| their arguments can't be formatted][1.8w]. | ||
| * [Various I/O functions support large files on Linux][1.8l]. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
reviewed
Apr 8, 2016
| numbers [no longer return platform-specific types][1.8r], but | ||
| instead return widened integers. [RFC 1415]. | ||
| * [`btree_set::{IntoIter, Iter, Range}` are covariant][1.8cv]. | ||
| * [Atomics are not volatile][1.8a]. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
reviewed
Apr 8, 2016
| Misc | ||
| ---- | ||
|
|
||
| * [32-bit MSVC builds use SEH for unwinding instead of DWARF][1.8ms]. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
Apr 8, 2016
Member
Here 32-bit MSVC actually never used DWARF, it just flat out never worked before. This is essentially the first release where 32-bit MSVC is a tier 1 platform
alexcrichton
reviewed
Apr 8, 2016
| directory][1.8ci]. It is otherwise like `cargo new`. | ||
| * [Cargo has configuration keys for `-v` and | ||
| `--color`][1.8cc]. `verbose` and `color`, respectively, go in the | ||
| `[term]` section of `.cargo/configure`. |
This comment has been minimized.
This comment has been minimized.
alexcrichton
reviewed
Apr 8, 2016
| * On Unix, [stack overflow triggers a runtime abort instead of a | ||
| SIGSEGV][1.8so]. | ||
| * [`Command::spawn` and its equivalents return an error if any of | ||
| its command-line arguments contain interior `NULL`s][1.8n]. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Thanks for putting these together @brson ! |
This comment has been minimized.
This comment has been minimized.
|
May also want to mention that there are now a bunch of new nightly releases of rustc and cargo for these hosts: 3 arm linux triples, aarch64 linux and {net,free}bsd. And libstd binaries for i686-musl (did this reach prod yet?) and mips(el)-musl. However, I don't know if any of those will have a stable/beta release next week. Perhaps @alexcrichton can confirm that? |
This comment has been minimized.
This comment has been minimized.
|
Right of course! I guess maybe it's a little soon to announce rustup, but we've got a whole mess of new target standard libraries built just yet. Unfortunately the compilers @japaric mentions are only available on nightly (soon to be beta), but we've got new targets like:
|
brson
force-pushed the
brson:relnotes
branch
from
f4828f7
to
1e93079
Apr 8, 2016
This comment has been minimized.
This comment has been minimized.
|
Addressed feedback. I mentioned the new binary targets and snuck in a link to the urlo post explaining how to use them w/ multirust. |
This comment has been minimized.
This comment has been minimized.
|
@steveklabnik The new targets are probably a highlight. |
brson
force-pushed the
brson:relnotes
branch
2 times, most recently
from
b9a27f4
to
64c3a27
Apr 8, 2016
retep998
reviewed
Apr 8, 2016
| * [On Windows `rustc` emits `.lib` files for the `staticlib` library | ||
| type instead of `.a` files][1.8st]. Additionally, for the MSVC | ||
| toolchain, `rustc` emits import libraries named `foo.dll.lib` | ||
| instead of `foo.dll`. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
durka
reviewed
Apr 8, 2016
| will warn about their usage. In the future, all unstable flags will | ||
| be unavailable on the stable release channel. | ||
| * [It is no longer possible to `match` on empty enum variants using | ||
| the `Variant(..)` syntax][1.8w]. This has been a warning since 1.6. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Will check this out soon. |
apasel422
reviewed
Apr 8, 2016
| across platforms was making it difficult to implement `std` | ||
| correctly. Those that need these definitions should use the `libc` | ||
| crate. [RFC 1415]. | ||
| * The Unix-specific `MetadataExt` traits, including |
This comment has been minimized.
This comment has been minimized.
apasel422
Apr 8, 2016
Member
Seems like there's a missing comma in this sentence, or a disagreement between "exposes" and its subject.
This comment has been minimized.
This comment has been minimized.
apasel422
reviewed
Apr 8, 2016
| be unavailable on the stable release channel. | ||
| * [It is no longer possible to `match` on empty enum variants using | ||
| the `Variant(..)` syntax][1.8w]. This has been a warning since 1.6. | ||
| * The Unix-specific `MetadataExt` traits, including |
This comment has been minimized.
This comment has been minimized.
apasel422
reviewed
Apr 8, 2016
| `os::unix::fs::MetadataExt`, which exposes values such as inode | ||
| numbers [no longer return platform-specific types][1.8r], but | ||
| instead return widened integers. [RFC 1415]. | ||
| * [Modules sourced from the filesystem can not appear within arbitrary |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Looks good here! Agree with your summary of important stuff. Once this is r+'d, I'll work on the announcement post. |
This comment has been minimized.
This comment has been minimized.
|
r=me with the fixes mentioned here |
alexcrichton
added
the
beta-accepted
label
Apr 8, 2016
brson
force-pushed the
brson:relnotes
branch
from
64c3a27
to
94a387e
Apr 8, 2016
This comment has been minimized.
This comment has been minimized.
|
@bors r+ p=1 |
This comment has been minimized.
This comment has been minimized.
|
|
durka
reviewed
Apr 8, 2016
| [1.8h]: https://github.com/rust-lang/rust/pull/31460 | ||
| [1.8l]: https://github.com/rust-lang/rust/pull/31668 | ||
| [1.8m]: https://github.com/rust-lang/rust/pull/31020 | ||
| [1.8m]: https://github.com/rust-lang/rust/pull/31534 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
bors
added a commit
that referenced
this pull request
Apr 8, 2016
This comment has been minimized.
This comment has been minimized.
bors
merged commit 94a387e
into
rust-lang:master
Apr 8, 2016
brson
removed
the
beta-nominated
label
Apr 9, 2016
matklad
reviewed
Apr 11, 2016
|
|
||
| * [`cargo init` creates a new Cargo project in the current | ||
| directory][1.8ci]. It is otherwise like `cargo new`. | ||
| * [Cargo has configuration keys for `-v` and |
This comment has been minimized.
This comment has been minimized.
matklad
Apr 11, 2016
Member
If I am not mistaken another new subcommand in this release is cargo metadata.
SimonSapin
reviewed
Apr 11, 2016
| * [Executable stacks are disabled on Linux and BSD][1.8nx]. | ||
| * The Rust Project now publishes binary releases of the standard | ||
| library for a number of tier-2 targets: | ||
| `armv7-unknown-linux-gnueabihf`, `powerpc-unknown-linux-gnu`, |
This comment has been minimized.
This comment has been minimized.
SimonSapin
Apr 11, 2016
Contributor
@brson What’s the difference between arm and armv7? Or rather, where can I read a more verbose definition of what Rust or LLVM (whichever is relevant here) call various architectures? Thanks.
This comment has been minimized.
This comment has been minimized.
alexcrichton
Apr 12, 2016
Member
arm ends up generating armv6 instructions whereas armv7 generates armv7 instructions, but beyond that they should be the same.
Unfortunately I don't know about the actual differences between armv6 and armv7 beyond our generated armv7 binaries are generally faster.
kscz
reviewed
Apr 12, 2016
| * [The `--print targets` flag prints a list of supported targets][1.8t]. | ||
| * [The `--print cfg` flag prints the `cfg`s defined for the current | ||
| target][1.8cf]. | ||
| * [`rustc` can be built with an new Cargo-based build system, written |
This comment has been minimized.
This comment has been minimized.
kscz
Apr 12, 2016
No idea if this is the right forum to make a comment, but I think this line should be "can be built with a new" not "an new"
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
the link under cargo "The environment variables CARGO_TARGET_ROOT, RUSTC, and RUSTDOC take precedence over the build.target-dir, build.rustc, and build.rustdoc configuration values." does not seem to link to where it's supposed to link to |
brson commentedApr 7, 2016
cc @steveklabnik to me the highlights are compound assignment overloading, 32-bit MSVC builds being ready for use, and the cargo improvements.
Rendered.