|
| 1 | +Version 1.13.0 (2016-11-10) |
| 2 | +=========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | + |
| 7 | +* [Stabilize the `?` operator][36995]. `?` is a simple way to propagate |
| 8 | + errors, like the `try!` macro, described in [RFC 0243]. |
| 9 | +* [Stabilize macros in type position][36014]. Described in [RFC 873]. |
| 10 | +* [Stabilize attributes on statements][36995]. Described in [RFC 0016]. |
| 11 | +* [Fix `#[derive]` for empty tuple structs/variants][35728] |
| 12 | +* [Fix lifetime rules for 'if' conditions][36029] |
| 13 | +* [Avoid loading and parsing unconfigured non-inline modules][36482] |
| 14 | + |
| 15 | +Compiler |
| 16 | +-------- |
| 17 | + |
| 18 | +* [Add the `-C link-arg` argument][36574] |
| 19 | +* [Remove the old AST-based backend from rustc_trans][35764] |
| 20 | +* [Don't enable NEON by default on armv7 Linux][35814] |
| 21 | +* [Fix debug line number info for macro expansions][35238] |
| 22 | +* [Do not emit "class method" debuginfo for types that are not |
| 23 | + DICompositeType][36008] |
| 24 | +* [Warn about multiple conflicting #[repr] hints][34623] |
| 25 | +* [When sizing DST, don't double-count nested struct prefixes][36351] |
| 26 | +* [Default RUST_MIN_STACK to 16MiB for now][36505] |
| 27 | +* [Improve rlib metadata format][36551]. Reduces rlib size significantly. |
| 28 | +* [Reject macros with empty repetitions to avoid infinite loop][36721] |
| 29 | +* [Expand macros without recursing to avoid stack overflows][36214] |
| 30 | + |
| 31 | +Diagnostics |
| 32 | +----------- |
| 33 | + |
| 34 | +* [Replace macro backtraces with labeled local uses][35702] |
| 35 | +* [Improve error message for missplaced doc comments][33922] |
| 36 | +* [Buffer unix and lock windows to prevent message interleaving][35975] |
| 37 | +* [Update lifetime errors to specifically note temporaries][36171] |
| 38 | +* [Special case a few colors for Windows][36178] |
| 39 | +* [Suggest `use self` when such an import resolves][36289] |
| 40 | +* [Be more specific when type parameter shadows primitive type][36338] |
| 41 | +* Many minor improvements |
| 42 | + |
| 43 | +Compile-time Optimizations |
| 44 | +-------------------------- |
| 45 | + |
| 46 | +* [Compute and cache HIR hashes at beginning][35854] |
| 47 | +* [Don't hash types in loan paths][36004] |
| 48 | +* [Cache projections in trans][35761] |
| 49 | +* [Optimize the parser's last token handling][36527] |
| 50 | +* [Only instantiate #[inline] functions in codegen units referencing |
| 51 | + them][36524]. This leads to big improvements in cases where crates export |
| 52 | + define many inline functions without using them directly. |
| 53 | +* [Lazily allocate TypedArena's first chunk][36592] |
| 54 | +* [Don't allocate during default HashSet creation][36734] |
| 55 | + |
| 56 | +Stabilized APIs |
| 57 | +--------------- |
| 58 | + |
| 59 | +* [`checked_abs`] |
| 60 | +* [`wrapping_abs`] |
| 61 | +* [`overflowing_abs`] |
| 62 | +* [`RefCell::try_borrow`] |
| 63 | +* [`RefCell::try_borrow_mut`] |
| 64 | + |
| 65 | +Libraries |
| 66 | +--------- |
| 67 | + |
| 68 | +* [Add `assert_ne!` and `debug_assert_ne!`][35074] |
| 69 | +* [Make `vec_deque::Drain`, `hash_map::Drain`, and `hash_set::Drain` |
| 70 | + covariant][35354] |
| 71 | +* [Implement `AsRef<[T]>` for `std::slice::Iter`][35559] |
| 72 | +* [Implement `Debug` for `std::vec::IntoIter`][35707] |
| 73 | +* [`CString`: avoid excessive growth just to 0-terminate][35871] |
| 74 | +* [Implement `CoerceUnsized` for `{Cell, RefCell, UnsafeCell}`][35627] |
| 75 | +* [Use arc4rand on FreeBSD][35884] |
| 76 | +* [memrchr: Correct aligned offset computation][35969] |
| 77 | +* [Improve Demangling of Rust Symbols][36059] |
| 78 | +* [Use monotonic time in condition variables][35048] |
| 79 | +* [Implement `Debug` for `std::path::{Components,Iter}`][36101] |
| 80 | +* [Implement conversion traits for `char`][35755] |
| 81 | +* [Fix illegal instruction caused by overflow in channel cloning][36104] |
| 82 | +* [Zero first byte of CString on drop][36264] |
| 83 | +* [Inherit overflow checks for sum and product][36372] |
| 84 | +* [Add missing Eq implementations][36423] |
| 85 | +* [Implement `Debug` for `DirEntry`][36631] |
| 86 | +* [When `getaddrinfo` returns `EAI_SYSTEM` retrieve actual error from |
| 87 | + `errno`][36754] |
| 88 | +* [`SipHasher`] is deprecated. Use [`DefaultHasher`]. |
| 89 | +* [Implement more traits for `std::io::ErrorKind`][35911] |
| 90 | +* [Optimize BinaryHeap bounds checking][36072] |
| 91 | +* [Work around pointer aliasing issue in `Vec::extend_from_slice`, |
| 92 | + `extend_with_element`][36355] |
| 93 | +* [Fix overflow checking in unsigned pow()][34942] |
| 94 | + |
| 95 | +Cargo |
| 96 | +----- |
| 97 | + |
| 98 | +* This release includes security fixes to both curl and OpenSSL. |
| 99 | +* [Fix transitive doctests when panic=abort][cargo/3021] |
| 100 | +* [Add --all-features flag to cargo][cargo/3038] |
| 101 | +* [Reject path-based dependencies in `cargo package`][cargo/3060] |
| 102 | +* [Don't parse the home directory more than once][cargo/3078] |
| 103 | +* [Don't try to generate Cargo.lock on empty workspaces][cargo/3092] |
| 104 | +* [Update OpenSSL to 1.0.2j][cargo/3121] |
| 105 | +* [Add license and license_file to cargo metadata output][cargo/3110] |
| 106 | +* [Make crates-io registry URL optional in config; ignore all changes to |
| 107 | + source.crates-io][cargo/3089] |
| 108 | +* [Don't download dependencies from other platforms][cargo/3123] |
| 109 | +* [Build transitive dev-dependencies when needed][cargo/3125] |
| 110 | +* [Add support for per-target rustflags in .cargo/config][cargo/3157] |
| 111 | +* [Avoid updating registry when adding existing deps][cargo/3144] |
| 112 | +* [Warn about path overrides that won't work][cargo/3136] |
| 113 | +* [Use workspaces during `cargo install`][cargo/3146] |
| 114 | +* [Leak mspdbsrv.exe processes on Windows][cargo/3162] |
| 115 | +* [Add --message-format flag][cargo/3000] |
| 116 | +* [Pass target environment for rustdoc][cargo/3205] |
| 117 | +* [Use `CommandExt::exec` for `cargo run` on Unix][cargo/2818] |
| 118 | +* [Update curl and curl-sys][cargo/3241] |
| 119 | +* [Call rustdoc test with the correct cfg flags of a package][cargo/3242] |
| 120 | + |
| 121 | +Tooling |
| 122 | +------- |
| 123 | + |
| 124 | +* [rustdoc: Add the `--sysroot` argument][36586] |
| 125 | +* [rustdoc: Fix a couple of issues with the search results][35655] |
| 126 | +* [rustdoc: remove the `!` from macro URLs and titles][35234] |
| 127 | +* [gdb: Fix pretty-printing special-cased Rust types][35585] |
| 128 | +* [rustdoc: Filter more incorrect methods inherited through Deref][36266] |
| 129 | + |
| 130 | +Misc |
| 131 | +---- |
| 132 | + |
| 133 | +* [Remove unmaintained style guide][35124] |
| 134 | +* [Add s390x support][36369] |
| 135 | +* [Initial work at Haiku OS support][36727] |
| 136 | +* [Add mips-uclibc targets][35734] |
| 137 | +* [Crate-ify compiler-rt into compiler-builtins][35021] |
| 138 | +* [Add rustc version info (git hash + date) to dist tarball][36213] |
| 139 | +* Many documentation improvements |
| 140 | + |
| 141 | +Compatibility Notes |
| 142 | +------------------- |
| 143 | + |
| 144 | +* [`SipHasher`] is deprecated. Use [`DefaultHasher`]. |
| 145 | +* [Deny (by default) transmuting from fn item types to pointer-sized |
| 146 | + types][34923]. Continuing the long transition to zero-sized fn items, |
| 147 | + per [RFC 401]. |
| 148 | +* [Fix `#[derive]` for empty tuple structs/variants][35728]. |
| 149 | + Part of [RFC 1506]. |
| 150 | +* [Issue deprecation warnings for safe accesses to extern statics][36173] |
| 151 | +* [Fix lifetime rules for 'if' conditions][36029]. |
| 152 | +* [Inherit overflow checks for sum and product][36372]. |
| 153 | +* [Forbid user-defined macros named "macro_rules"][36730]. |
| 154 | + |
| 155 | +[33922]: https://github.com/rust-lang/rust/pull/33922 |
| 156 | +[34623]: https://github.com/rust-lang/rust/pull/34623 |
| 157 | +[34923]: https://github.com/rust-lang/rust/pull/34923 |
| 158 | +[34942]: https://github.com/rust-lang/rust/pull/34942 |
| 159 | +[34982]: https://github.com/rust-lang/rust/pull/34982 |
| 160 | +[35021]: https://github.com/rust-lang/rust/pull/35021 |
| 161 | +[35048]: https://github.com/rust-lang/rust/pull/35048 |
| 162 | +[35074]: https://github.com/rust-lang/rust/pull/35074 |
| 163 | +[35124]: https://github.com/rust-lang/rust/pull/35124 |
| 164 | +[35234]: https://github.com/rust-lang/rust/pull/35234 |
| 165 | +[35238]: https://github.com/rust-lang/rust/pull/35238 |
| 166 | +[35354]: https://github.com/rust-lang/rust/pull/35354 |
| 167 | +[35559]: https://github.com/rust-lang/rust/pull/35559 |
| 168 | +[35585]: https://github.com/rust-lang/rust/pull/35585 |
| 169 | +[35627]: https://github.com/rust-lang/rust/pull/35627 |
| 170 | +[35655]: https://github.com/rust-lang/rust/pull/35655 |
| 171 | +[35702]: https://github.com/rust-lang/rust/pull/35702 |
| 172 | +[35707]: https://github.com/rust-lang/rust/pull/35707 |
| 173 | +[35728]: https://github.com/rust-lang/rust/pull/35728 |
| 174 | +[35734]: https://github.com/rust-lang/rust/pull/35734 |
| 175 | +[35755]: https://github.com/rust-lang/rust/pull/35755 |
| 176 | +[35761]: https://github.com/rust-lang/rust/pull/35761 |
| 177 | +[35764]: https://github.com/rust-lang/rust/pull/35764 |
| 178 | +[35814]: https://github.com/rust-lang/rust/pull/35814 |
| 179 | +[35854]: https://github.com/rust-lang/rust/pull/35854 |
| 180 | +[35871]: https://github.com/rust-lang/rust/pull/35871 |
| 181 | +[35884]: https://github.com/rust-lang/rust/pull/35884 |
| 182 | +[35911]: https://github.com/rust-lang/rust/pull/35911 |
| 183 | +[35969]: https://github.com/rust-lang/rust/pull/35969 |
| 184 | +[35975]: https://github.com/rust-lang/rust/pull/35975 |
| 185 | +[36004]: https://github.com/rust-lang/rust/pull/36004 |
| 186 | +[36008]: https://github.com/rust-lang/rust/pull/36008 |
| 187 | +[36014]: https://github.com/rust-lang/rust/pull/36014 |
| 188 | +[36029]: https://github.com/rust-lang/rust/pull/36029 |
| 189 | +[36059]: https://github.com/rust-lang/rust/pull/36059 |
| 190 | +[36072]: https://github.com/rust-lang/rust/pull/36072 |
| 191 | +[36101]: https://github.com/rust-lang/rust/pull/36101 |
| 192 | +[36104]: https://github.com/rust-lang/rust/pull/36104 |
| 193 | +[36171]: https://github.com/rust-lang/rust/pull/36171 |
| 194 | +[36173]: https://github.com/rust-lang/rust/pull/36173 |
| 195 | +[36178]: https://github.com/rust-lang/rust/pull/36178 |
| 196 | +[36213]: https://github.com/rust-lang/rust/pull/36213 |
| 197 | +[36214]: https://github.com/rust-lang/rust/pull/36214 |
| 198 | +[36264]: https://github.com/rust-lang/rust/pull/36264 |
| 199 | +[36266]: https://github.com/rust-lang/rust/pull/36266 |
| 200 | +[36289]: https://github.com/rust-lang/rust/pull/36289 |
| 201 | +[36338]: https://github.com/rust-lang/rust/pull/36338 |
| 202 | +[36351]: https://github.com/rust-lang/rust/pull/36351 |
| 203 | +[36355]: https://github.com/rust-lang/rust/pull/36355 |
| 204 | +[36369]: https://github.com/rust-lang/rust/pull/36369 |
| 205 | +[36372]: https://github.com/rust-lang/rust/pull/36372 |
| 206 | +[36423]: https://github.com/rust-lang/rust/pull/36423 |
| 207 | +[36482]: https://github.com/rust-lang/rust/pull/36482 |
| 208 | +[36505]: https://github.com/rust-lang/rust/pull/36505 |
| 209 | +[36524]: https://github.com/rust-lang/rust/pull/36524 |
| 210 | +[36527]: https://github.com/rust-lang/rust/pull/36527 |
| 211 | +[36551]: https://github.com/rust-lang/rust/pull/36551 |
| 212 | +[36574]: https://github.com/rust-lang/rust/pull/36574 |
| 213 | +[36586]: https://github.com/rust-lang/rust/pull/36586 |
| 214 | +[36592]: https://github.com/rust-lang/rust/pull/36592 |
| 215 | +[36631]: https://github.com/rust-lang/rust/pull/36631 |
| 216 | +[36639]: https://github.com/rust-lang/rust/pull/36639 |
| 217 | +[36721]: https://github.com/rust-lang/rust/pull/36721 |
| 218 | +[36727]: https://github.com/rust-lang/rust/pull/36727 |
| 219 | +[36730]: https://github.com/rust-lang/rust/pull/36730 |
| 220 | +[36734]: https://github.com/rust-lang/rust/pull/36734 |
| 221 | +[36754]: https://github.com/rust-lang/rust/pull/36754 |
| 222 | +[36995]: https://github.com/rust-lang/rust/pull/36995 |
| 223 | +[RFC 0016]: https://github.com/rust-lang/rfcs/blob/master/text/0016-more-attributes.md |
| 224 | +[RFC 0243]: https://github.com/rust-lang/rfcs/blob/master/text/0243-trait-based-exception-handling.md |
| 225 | +[RFC 1506]: https://github.com/rust-lang/rfcs/blob/master/text/1506-adt-kinds.md |
| 226 | +[RFC 401]: https://github.com/rust-lang/rfcs/blob/master/text/0401-coercions.md |
| 227 | +[RFC 873]: https://github.com/rust-lang/rfcs/blob/master/text/0873-type-macros.md |
| 228 | +[cargo/2818]: https://github.com/rust-lang/cargo/pull/2818 |
| 229 | +[cargo/3000]: https://github.com/rust-lang/cargo/pull/3000 |
| 230 | +[cargo/3021]: https://github.com/rust-lang/cargo/pull/3021 |
| 231 | +[cargo/3038]: https://github.com/rust-lang/cargo/pull/3038 |
| 232 | +[cargo/3060]: https://github.com/rust-lang/cargo/pull/3060 |
| 233 | +[cargo/3078]: https://github.com/rust-lang/cargo/pull/3078 |
| 234 | +[cargo/3089]: https://github.com/rust-lang/cargo/pull/3089 |
| 235 | +[cargo/3092]: https://github.com/rust-lang/cargo/pull/3092 |
| 236 | +[cargo/3110]: https://github.com/rust-lang/cargo/pull/3110 |
| 237 | +[cargo/3121]: https://github.com/rust-lang/cargo/pull/3121 |
| 238 | +[cargo/3123]: https://github.com/rust-lang/cargo/pull/3123 |
| 239 | +[cargo/3125]: https://github.com/rust-lang/cargo/pull/3125 |
| 240 | +[cargo/3136]: https://github.com/rust-lang/cargo/pull/3136 |
| 241 | +[cargo/3144]: https://github.com/rust-lang/cargo/pull/3144 |
| 242 | +[cargo/3146]: https://github.com/rust-lang/cargo/pull/3146 |
| 243 | +[cargo/3157]: https://github.com/rust-lang/cargo/pull/3157 |
| 244 | +[cargo/3162]: https://github.com/rust-lang/cargo/pull/3162 |
| 245 | +[cargo/3205]: https://github.com/rust-lang/cargo/pull/3205 |
| 246 | +[cargo/3241]: https://github.com/rust-lang/cargo/pull/3241 |
| 247 | +[cargo/3242]: https://github.com/rust-lang/cargo/pull/3242 |
| 248 | +[rustup]: https://www.rustup.rs |
| 249 | +[`checked_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.checked_abs |
| 250 | +[`wrapping_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.wrapping_abs |
| 251 | +[`overflowing_abs`]: https://doc.rust-lang.org/std/primitive.i32.html#method.overflowing_abs |
| 252 | +[`RefCell::try_borrow`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.try_borrow |
| 253 | +[`RefCell::try_borrow_mut`]: https://doc.rust-lang.org/std/cell/struct.RefCell.html#method.try_borrow_mut |
| 254 | +[`SipHasher`]: https://doc.rust-lang.org/std/hash/struct.SipHasher.html |
| 255 | +[`DefaultHasher`]: https://doc.rust-lang.org/std/collections/hash_map/struct.DefaultHasher.html |
| 256 | + |
| 257 | + |
1 | 258 | Version 1.12.1 (2016-10-20)
|
2 | 259 | ===========================
|
3 | 260 |
|
|
0 commit comments