1- Version 1.1.0 (July 2015)
2- ========================
1+ Version 1.1.0 (June 2015)
2+ =========================
33
4- * NNNN changes, numerous bugfixes
4+ * ~ 850 changes, numerous bugfixes
55
6- Libraries
7- ---------
6+ Highlights
7+ ----------
88
99* The [ ` std::fs ` module has been expanded] [ fs-expand ] to expand the set of
1010 functionality exposed:
@@ -13,8 +13,103 @@ Libraries
1313 * A ` symlink_metadata ` function has been added.
1414 * The ` fs::Metadata ` structure now lowers to its OS counterpart, providing
1515 access to all underlying information.
16+ * The compiler contains extended explanations of many errors. When it
17+ emits such an error it also suggests using the ` --explain ` flag to
18+ read the extended explanations, which are also [ cataloged on the web
19+ site] [ err ] .
20+ * Thanks to multiple [ improvements] [ sk ] to [ type checking] [ pre ] , as
21+ well as other work, the time to bootstrap the compiler decreased by
22+ 32%.
23+
24+ Libraries
25+ ---------
26+
27+ * The ` str::split_whitespace ` method splits a string on unicode
28+ whitespace boundaries.
29+ * On both Windows and Unix, new extension traits provide conversion of
30+ I/O types to and from the underlying system handles. On Unix, these
31+ traits are [ ` FrowRawFd ` ] and [ ` AsRawFd ` ] , on Windows ` FromRawHandle `
32+ and ` AsRawHandle ` . These are implemented for ` File ` , ` TcpStream ` ,
33+ ` TcpListener ` , and ` UpdSocket ` . Further implementations for
34+ ` std::process ` will be stabilized later.
35+ * On Unix, [ ` std::os::unix::symlink ` ] creates symlinks. On
36+ Windows, symlinks can be created with
37+ ` std::os::windows::symlink_dir ` and
38+ ` std::os::windows::symlink_file ` .
39+ * The ` mpsc::Receiver ` type can now be converted into an iterator with
40+ ` into_iter ` on the [ ` IntoIterator ` ] trait.
41+ * ` Ipv4Addr ` can be created from ` u32 ` with the ` From<u32> `
42+ implementation of the [ ` From ` ] trait.
43+ * The ` Debug ` implementation for ` RangeFull ` [ creates output that is
44+ more consistent with other implementations] [ rf ] .
45+ * [ ` Debug ` is implemented for ` File ` ] [ file ] .
46+ * The ` Default ` implementation for ` Arc ` [ no longer requires `Sync +
47+ Send`] [ arc ] .
48+ * [ The ` Iterator ` methods ` count ` , ` nth ` , and ` last ` have been
49+ overridden for slices to have O(1) performance instead of O(n)] [ si ] .
50+ * Incorrect handling of paths on Windows has been improved in both the
51+ compiler and the standard library.
52+ * [ ` AtomicPtr ` gained a ` Default ` implementation] [ ap ] .
53+ * In accordance with Rust's policy on arithmetic overflow ` abs ` now
54+ [ panics on overflow when debug assertions are enabled] [ abs ] .
55+ * The [ ` Cloned ` ] iterator, which was accidentally left unstable for
56+ 1.0 [ has been stabilized] [ c ] .
57+ * The [ ` Incoming ` ] iterator, which iterates over incoming TCP
58+ connections, and which was accidentally unnamable in 1.0, [ is now
59+ properly exported] [ inc ] .
60+ * [ ` BinaryHeap ` ] no longer corrupts itself [ when functions called by
61+ ` sift_up ` or ` sift_down ` panic] [ bh ] .
62+ * The [ ` split_off ` ] method of ` LinkedList ` [ no longer corrupts
63+ the list in certain scenarios] [ ll ] .
64+
65+ Misc
66+ ----
1667
17- [ fs-expand ] : https://github.com/rust-lang/rust/pull/25844
68+ * Type checking performance [ has improved notably] [ sk ] with
69+ [ multiple improvements] [ pre ] .
70+ * The compiler [ suggests code changes] [ ch ] for more errors.
71+ * rustc and it's build system have experimental support for [ building
72+ toolchains against MUSL] [ m ] instead of glibc on Linux.
73+ * The compiler defines the ` target_env ` cfg value, which is used for
74+ distinguishing toolchains that are otherwise for the same
75+ platform. Presently this is set to ` gnu ` for common GNU Linux
76+ targets and for MinGW targets, and ` musl ` for MUSL Linux targets.
77+ * The [ ` cargo rustc ` ] [ crc ] command invokes a build with custom flags
78+ to rustc.
79+ * [ Android executables are always position independent] [ pie ] .
80+ * [ The ` drop_with_repr_extern ` lint warns about mixing ` repr(C) `
81+ with ` Drop ` ] [ drop ] .
82+
83+ [ `split_whitespace` ] : http://doc.rust-lang.org/nightly/std/primitive.str.html#method.split_whitespace
84+ [ `Iterator::cloned` ] : http://doc.rust-lang.org/nightly/core/iter/trait.Iterator.html#method.cloned
85+ [ `FromRawFd` ] : http://doc.rust-lang.org/nightly/std/os/unix/io/trait.FromRawFd.html
86+ [ `AsRawFd` ] : http://doc.rust-lang.org/nightly/std/os/unix/io/trait.AsRawFd.html
87+ [ `std::os::unix::symlink` ] : http://doc.rust-lang.org/nightly/std/os/unix/fs/fn.symlink.html
88+ [ `IntoIterator` ] : http://doc.rust-lang.org/nightly/std/iter/trait.IntoIterator.html
89+ [ `From` ] : http://doc.rust-lang.org/nightly/std/convert/trait.From.html
90+ [ rf ] : https://github.com/rust-lang/rust/pull/24491
91+ [ err ] : http://doc.rust-lang.org/error-index.html
92+ [ sk ] : https://github.com/rust-lang/rust/pull/24615
93+ [ pre ] : https://github.com/rust-lang/rust/pull/25323
94+ [ file ] : https://github.com/rust-lang/rust/pull/24598
95+ [ ch ] : https://github.com/rust-lang/rust/pull/24683
96+ [ arc ] : https://github.com/rust-lang/rust/pull/24695
97+ [ si ] : https://github.com/rust-lang/rust/pull/24701
98+ [ ap ] : https://github.com/rust-lang/rust/pull/24834
99+ [ m ] : https://github.com/rust-lang/rust/pull/24777
100+ [ fs ] : https://github.com/rust-lang/rfcs/blob/master/text/1044-io-fs-2.1.md
101+ [ crc ] : https://github.com/rust-lang/cargo/pull/1568
102+ [ pie ] : https://github.com/rust-lang/rust/pull/24953
103+ [ abs ] : https://github.com/rust-lang/rust/pull/25441
104+ [ c ] : https://github.com/rust-lang/rust/pull/25496
105+ [ `Cloned` ] : http://doc.rust-lang.org/nightly/std/iter/struct.Cloned.html
106+ [ `Incoming` ] : http://doc.rust-lang.org/nightly/std/net/struct.Incoming.html
107+ [ inc ] : https://github.com/rust-lang/rust/pull/25522
108+ [ bh ] : https://github.com/rust-lang/rust/pull/25856
109+ [ `BinaryHeap` ] : http://doc.rust-lang.org/nightly/std/collections/struct.BinaryHeap.html
110+ [ ll ] : https://github.com/rust-lang/rust/pull/26022
111+ [ `split_off` ] : http://doc.rust-lang.org/nightly/collections/linked_list/struct.LinkedList.html#method.split_off
112+ [ drop ] : https://github.com/rust-lang/rust/pull/24935
18113
19114Version 1.0.0 (May 2015)
20115========================
0 commit comments