1
- Version 1.1.0 (July 2015)
2
- ========================
1
+ Version 1.1.0 (June 2015)
2
+ =========================
3
3
4
- * NNNN changes, numerous bugfixes
4
+ * ~ 850 changes, numerous bugfixes
5
5
6
- Libraries
7
- ---------
6
+ Highlights
7
+ ----------
8
8
9
9
* The [ ` std::fs ` module has been expanded] [ fs-expand ] to expand the set of
10
10
functionality exposed:
@@ -13,8 +13,103 @@ Libraries
13
13
* A ` symlink_metadata ` function has been added.
14
14
* The ` fs::Metadata ` structure now lowers to its OS counterpart, providing
15
15
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
+ ----
16
67
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
18
113
19
114
Version 1.0.0 (May 2015)
20
115
========================
0 commit comments