@@ -3,37 +3,38 @@ Version 1.23.0 (2018-01-04)
33
44Language
55--------
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.
79
810Compiler
911--------
10- - [ Enabled ` TrapUnreachable ` in LLVM which should prevent some cases of
12+ - [ Enabled ` TrapUnreachable ` in LLVM which should mitigate the impact of
1113 undefined behaviour.] [ 45920 ]
1214- [ rustc now suggests renaming import if names clash.] [ 45660 ]
1315- [ Display errors/warnings correctly when there are zero-width or
1416 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 ]
1817- [ rustc now avoids unnecessary copies of arguments that are
1918 simple bindings] [ 45380 ] This should improve memory usage on average by 5-10%.
2019- [ 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.
2123
2224Libraries
2325---------
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 ]
2627- [ Implement Hash for raw pointers to unsized types] [ 45483 ]
2728- [ 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 ]
3030- [ 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 ]
3333- [ Optimized ` Thread::{park, unpark} ` implementation] [ 45524 ]
3434- [ 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.
3738
3839Stabilized APIs
3940---------------
5556
5657Compatibility Notes
5758-------------------
58- - [ ` fmt::Arguments ` can no longer be shared across threads.] [ 45198 ]
5959- [ Changes have been made to type equality to make it more correct,
6060 in rare cases this could break some code.] [ 45853 ] [ Tracking issue for
6161 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 ]
6462- [ ` char::escape_debug ` now uses Unicode 10 over 9.] [ 45571 ]
6563- [ Upgraded Android SDK to 27, and NDK to r15c.] [ 45580 ] This drops support for
6664 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
7068[ 44932 ] : https://github.com/rust-lang/rust/pull/44932
71- [ 45198 ] : https://github.com/rust-lang/rust/pull/45198
7269[ 45225 ] : https://github.com/rust-lang/rust/pull/45225
7370[ 45267 ] : https://github.com/rust-lang/rust/pull/45267
7471[ 45324 ] : https://github.com/rust-lang/rust/pull/45324
7572[ 45326 ] : https://github.com/rust-lang/rust/pull/45326
7673[ 45333 ] : https://github.com/rust-lang/rust/pull/45333
74+ [ 45379 ] : https://github.com/rust-lang/rust/pull/45379
7775[ 45380 ] : https://github.com/rust-lang/rust/pull/45380
7876[ 45393 ] : https://github.com/rust-lang/rust/pull/45393
7977[ 45435 ] : https://github.com/rust-lang/rust/pull/45435
@@ -88,12 +86,9 @@ Compatibility Notes
8886[ 45772 ] : https://github.com/rust-lang/rust/pull/45772
8987[ 45852 ] : https://github.com/rust-lang/rust/issues/45852
9088[ 45853 ] : https://github.com/rust-lang/rust/pull/45853
91- [ 45879 ] : https://github.com/rust-lang/rust/pull/45879
9289[ 45887 ] : https://github.com/rust-lang/rust/pull/45887
9390[ 45903 ] : https://github.com/rust-lang/rust/pull/45903
9491[ 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
9792[ cargo/4506 ] : https://github.com/rust-lang/cargo/pull/4506
9893[ cargo/4561 ] : https://github.com/rust-lang/cargo/pull/4561
9994[ cargo/4592 ] : https://github.com/rust-lang/cargo/pull/4592
0 commit comments