@@ -3,37 +3,38 @@ Version 1.23.0 (2018-01-04)
3
3
4
4
Language
5
5
--------
6
- - [ Fixed displaying duplicate errors on some trait bounds.] [ 45772 ]
6
+ - [ Arbitrary ` auto ` traits are now permitted in trait objects.] [ 45772 ]
7
+ - [ rustc now uses subtyping on the left hand side of binary operations.] [ 45435 ]
8
+ Which should fix some confusing errors in some operations.
7
9
8
10
Compiler
9
11
--------
10
- - [ Enabled ` TrapUnreachable ` in LLVM which should prevent some cases of
12
+ - [ Enabled ` TrapUnreachable ` in LLVM which should mitigate the impact of
11
13
undefined behaviour.] [ 45920 ]
12
14
- [ rustc now suggests renaming import if names clash.] [ 45660 ]
13
15
- [ Display errors/warnings correctly when there are zero-width or
14
16
wide characters.] [ 45711 ]
15
- - [ rustc now uses subtyping on the left hand side of binary operations.] [ 45435 ]
16
- Which should fix some confusing errors in some operations.
17
- - [ Bumped the minimum LLVM to 3.9] [ 45326 ]
18
17
- [ rustc now avoids unnecessary copies of arguments that are
19
18
simple bindings] [ 45380 ] This should improve memory usage on average by 5-10%.
20
19
- [ Updated musl used to build musl rustc to 1.1.17] [ 45393 ]
20
+ - [ Refactored type memory layouts and ABIs.] [ 45225 ] This will reduce
21
+ memory size for some types. Eg. ` io::Result<()> ` is now 16 bytes
22
+ where it was previously 24.
21
23
22
24
Libraries
23
25
---------
24
- - [ impl ` From<T> ` for ` Mutex<T> ` and ` RwLock<T> ` ] [ 46082 ]
25
- - [ Allow a trailling comma in ` assert_eq/ne ` macro] [ 45887 ]
26
+ - [ Allow a trailing comma in ` assert_eq/ne ` macro] [ 45887 ]
26
27
- [ Implement Hash for raw pointers to unsized types] [ 45483 ]
27
28
- [ impl ` From<*mut T> ` for ` AtomicPtr<T> ` ] [ 45610 ]
28
- - [ impl ` From<{number_size}> ` for ` Atomic{number_size} ` ] [ 45610 ] eg. ` From<u8> `
29
- for ` AtomicU8 ` .
29
+ - [ impl ` From<usize/isize> ` for ` AtomicUsize/AtomicIsize ` .] [ 45610 ]
30
30
- [ Removed the ` T: Sync ` requirement for ` RwLock<T>: Send ` ] [ 45267 ]
31
- - [ Removed ` T: Sized ` requirement for ` <*const T>::as_ref `
32
- and ` <*const T>::as_mut ` ] [ 44932 ]
31
+ - [ Removed ` T: Sized ` requirement for ` { <*const T>, <*mut T>} ::as_ref`
32
+ and ` <*mut T>::as_mut ` ] [ 44932 ]
33
33
- [ Optimized ` Thread::{park, unpark} ` implementation] [ 45524 ]
34
34
- [ Improved ` SliceExt::binary_search ` performance.] [ 45333 ]
35
- - [ Optimized ` Read::read_to_end ` .] [ 46050 ] This increase file read speed and for
36
- small files reduce the number of syscalls.
35
+ - [ impl ` FromIterator<()> ` for ` () ` ] [ 45379 ]
36
+ - [ Copied ` AsciiExt ` trait methods to primitive types.] [ 44042 ] Use of ` AsciiExt `
37
+ is now deprecated.
37
38
38
39
Stabilized APIs
39
40
---------------
55
56
56
57
Compatibility Notes
57
58
-------------------
58
- - [ ` fmt::Arguments ` can no longer be shared across threads.] [ 45198 ]
59
59
- [ Changes have been made to type equality to make it more correct,
60
60
in rare cases this could break some code.] [ 45853 ] [ Tracking issue for
61
61
further information] [ 45852 ]
62
- - [ Changed how closures are stored, as a result of this change you can no longer
63
- have a situation where a closure directly calls itself.] [ 45879 ]
64
62
- [ ` char::escape_debug ` now uses Unicode 10 over 9.] [ 45571 ]
65
63
- [ Upgraded Android SDK to 27, and NDK to r15c.] [ 45580 ] This drops support for
66
64
Android 9, the minimum supported version is Android 14.
67
- - [ Refactored type memory layouts and ABIs. ] [ 45225 ] This reduce code generated
68
- for a lot of types.
69
-
65
+ - [ Bumped the minimum LLVM to 3.9 ] [ 45326 ]
66
+
67
+ [ 44042 ] : https://github.com/rust-lang/rust/pull/44042
70
68
[ 44932 ] : https://github.com/rust-lang/rust/pull/44932
71
- [ 45198 ] : https://github.com/rust-lang/rust/pull/45198
72
69
[ 45225 ] : https://github.com/rust-lang/rust/pull/45225
73
70
[ 45267 ] : https://github.com/rust-lang/rust/pull/45267
74
71
[ 45324 ] : https://github.com/rust-lang/rust/pull/45324
75
72
[ 45326 ] : https://github.com/rust-lang/rust/pull/45326
76
73
[ 45333 ] : https://github.com/rust-lang/rust/pull/45333
74
+ [ 45379 ] : https://github.com/rust-lang/rust/pull/45379
77
75
[ 45380 ] : https://github.com/rust-lang/rust/pull/45380
78
76
[ 45393 ] : https://github.com/rust-lang/rust/pull/45393
79
77
[ 45435 ] : https://github.com/rust-lang/rust/pull/45435
@@ -88,12 +86,9 @@ Compatibility Notes
88
86
[ 45772 ] : https://github.com/rust-lang/rust/pull/45772
89
87
[ 45852 ] : https://github.com/rust-lang/rust/issues/45852
90
88
[ 45853 ] : https://github.com/rust-lang/rust/pull/45853
91
- [ 45879 ] : https://github.com/rust-lang/rust/pull/45879
92
89
[ 45887 ] : https://github.com/rust-lang/rust/pull/45887
93
90
[ 45903 ] : https://github.com/rust-lang/rust/pull/45903
94
91
[ 45920 ] : https://github.com/rust-lang/rust/pull/45920
95
- [ 46050 ] : https://github.com/rust-lang/rust/pull/46050
96
- [ 46082 ] : https://github.com/rust-lang/rust/pull/46082
97
92
[ cargo/4506 ] : https://github.com/rust-lang/cargo/pull/4506
98
93
[ cargo/4561 ] : https://github.com/rust-lang/cargo/pull/4561
99
94
[ cargo/4592 ] : https://github.com/rust-lang/cargo/pull/4592
0 commit comments