| 
 | 1 | +Version 1.45.0 (2020-07-16)  | 
 | 2 | +==========================  | 
 | 3 | + | 
 | 4 | +Language  | 
 | 5 | +--------  | 
 | 6 | +- [Out of range float to int conversions using `as` has been defined as a saturating  | 
 | 7 | +  conversion.][71269] This was previously undefined behaviour, but you can use the  | 
 | 8 | +   `{f64, f32}::to_int_unchecked` methods to continue using the current behaviour, which  | 
 | 9 | +   may be desirable in rare performance sensitive situations.  | 
 | 10 | +- [`mem::Discriminant<T>` now uses `T`'s discriminant type instead of always  | 
 | 11 | +  using `u64`.][70705]  | 
 | 12 | +- [Function like procedural macros can now be used in expression, pattern, and  statement  | 
 | 13 | +  positions.][68717] This means you can now use a function-like procedural macro  | 
 | 14 | +  anywhere you can use a declarative (`macro_rules!`) macro.  | 
 | 15 | + | 
 | 16 | +Compiler  | 
 | 17 | +--------  | 
 | 18 | +- [You can now override individual target features through the `target-feature`  | 
 | 19 | +  flag.][72094] E.g. `-C target-feature=+avx2 -C target-feature=+fma` is now  | 
 | 20 | +  equivalent to `-C target-feature=+avx2,+fma`.  | 
 | 21 | +- [Added the `force-unwind-tables` flag.][69984] This option allows  | 
 | 22 | +  rustc to always generate unwind tables regardless of panic strategy.  | 
 | 23 | +- [Added the `embed-bitcode` flag.][71716] This codegen flag allows rustc  | 
 | 24 | +  to include LLVM bitcode into generated `rlib`s (this is on by default).  | 
 | 25 | +- [Added the `tiny` value to the `code-model` codegen flag.][72397]  | 
 | 26 | +- [Added tier 3 support\* for the `mipsel-sony-psp` target.][72062]  | 
 | 27 | +- [Added tier 3 support for the `thumbv7a-uwp-windows-msvc` target.][72133]  | 
 | 28 | + | 
 | 29 | +\* Refer to Rust's [platform support page][forge-platform-support] for more  | 
 | 30 | +information on Rust's tiered platform support.  | 
 | 31 | + | 
 | 32 | + | 
 | 33 | +Libraries  | 
 | 34 | +---------  | 
 | 35 | +- [`net::{SocketAddr, SocketAddrV4, SocketAddrV6}` now implements `PartialOrd`  | 
 | 36 | +  and `Ord`.][72239]  | 
 | 37 | +- [`proc_macro::TokenStream` now implements `Default`.][72234]  | 
 | 38 | +- [You can now use `char` with  | 
 | 39 | +  `ops::{Range, RangeFrom, RangeFull, RangeInclusive, RangeTo}` to iterate over  | 
 | 40 | +  a range of codepoints.][72413] E.g.  | 
 | 41 | +  you can now write the following;  | 
 | 42 | +  ```rust  | 
 | 43 | +  for ch in 'a'..='z' {  | 
 | 44 | +      print!("{}", ch);  | 
 | 45 | +  }  | 
 | 46 | +  println!();  | 
 | 47 | +  // Prints "abcdefghijklmnopqrstuvwxyz"  | 
 | 48 | +  ```  | 
 | 49 | +- [`OsString` now implements `FromStr`.][71662]  | 
 | 50 | +- [The `saturating_neg` method as been added to all signed integer primitive  | 
 | 51 | +  types, and the `saturating_abs` method has been added for all integer  | 
 | 52 | +  primitive types.][71886]  | 
 | 53 | +- [`Arc<T>`, `Rc<T>` now implement  `From<Cow<'_, T>>`, and `Box` now  | 
 | 54 | +  implements `From<Cow>` when `T` is `[T: Copy]`, `str`, `CStr`, `OsStr`,  | 
 | 55 | +  or `Path`.][71447]  | 
 | 56 | +- [`Box<[T]>` now implements `From<[T; N]>`.][71095]  | 
 | 57 | +- [`BitOr` and `BitOrAssign` are implemented for all `NonZero`  | 
 | 58 | +  integer types.][69813]  | 
 | 59 | +- [The `fetch_min`, and `fetch_max` methods have been added to all atomic  | 
 | 60 | +  integer types.][72324]  | 
 | 61 | +- [The `fetch_update` method has been added to all atomic integer types.][71843]  | 
 | 62 | + | 
 | 63 | +Stabilized APIs  | 
 | 64 | +---------------  | 
 | 65 | +- [`Arc::as_ptr`]  | 
 | 66 | +- [`BTreeMap::remove_entry`]  | 
 | 67 | +- [`Rc::as_ptr`]  | 
 | 68 | +- [`rc::Weak::as_ptr`]  | 
 | 69 | +- [`rc::Weak::from_raw`]  | 
 | 70 | +- [`rc::Weak::into_raw`]  | 
 | 71 | +- [`str::strip_prefix`]  | 
 | 72 | +- [`str::strip_suffix`]  | 
 | 73 | +- [`sync::Weak::as_ptr`]  | 
 | 74 | +- [`sync::Weak::from_raw`]  | 
 | 75 | +- [`sync::Weak::into_raw`]  | 
 | 76 | +- [`char::UNICODE_VERSION`]  | 
 | 77 | +- [`Span::resolved_at`]  | 
 | 78 | +- [`Span::located_at`]  | 
 | 79 | +- [`Span::mixed_site`]  | 
 | 80 | +- [`unix::process::CommandExt::arg0`]  | 
 | 81 | + | 
 | 82 | +Cargo  | 
 | 83 | +-----  | 
 | 84 | + | 
 | 85 | +Misc  | 
 | 86 | +----  | 
 | 87 | +- [Rustdoc now supports strikethrough text in Markdown.][71928] E.g.  | 
 | 88 | +  `~~outdated information~~` becomes "~~outdated information~~".  | 
 | 89 | +- [Added an emoji to Rustdoc's deprecated API message.][72014]  | 
 | 90 | + | 
 | 91 | +Compatibility Notes  | 
 | 92 | +-------------------  | 
 | 93 | +- [Trying to self initialize a static value (that is creating a value using  | 
 | 94 | +  itself) is unsound and now causes a compile error.][71140]  | 
 | 95 | +- [`{f32, f64}::powi` now returns a slightly different value on Windows.][73420]  | 
 | 96 | +  This is due to changes in LLVM's intrinsics which `{f32, f64}::powi` uses.  | 
 | 97 | +- [Rustdoc's CLI's extra error exit codes have been removed.][71900] These were  | 
 | 98 | +  previously undocumented and not intended for public use. Rustdoc still provides  | 
 | 99 | +  a non-zero exit code on errors.  | 
 | 100 | + | 
 | 101 | +Internals Only  | 
 | 102 | +--------------  | 
 | 103 | +- [Make clippy a git subtree instead of a git submodule][70655]  | 
 | 104 | +- [Unify the undo log of all snapshot types][69464]  | 
 | 105 | + | 
 | 106 | +[73420]: https://github.com/rust-lang/rust/issues/73420/  | 
 | 107 | +[72324]: https://github.com/rust-lang/rust/pull/72324/  | 
 | 108 | +[71843]: https://github.com/rust-lang/rust/pull/71843/  | 
 | 109 | +[71886]: https://github.com/rust-lang/rust/pull/71886/  | 
 | 110 | +[72234]: https://github.com/rust-lang/rust/pull/72234/  | 
 | 111 | +[72239]: https://github.com/rust-lang/rust/pull/72239/  | 
 | 112 | +[72397]: https://github.com/rust-lang/rust/pull/72397/  | 
 | 113 | +[72413]: https://github.com/rust-lang/rust/pull/72413/  | 
 | 114 | +[72014]: https://github.com/rust-lang/rust/pull/72014/  | 
 | 115 | +[72062]: https://github.com/rust-lang/rust/pull/72062/  | 
 | 116 | +[72094]: https://github.com/rust-lang/rust/pull/72094/  | 
 | 117 | +[72133]: https://github.com/rust-lang/rust/pull/72133/  | 
 | 118 | +[71900]: https://github.com/rust-lang/rust/pull/71900/  | 
 | 119 | +[71928]: https://github.com/rust-lang/rust/pull/71928/  | 
 | 120 | +[71662]: https://github.com/rust-lang/rust/pull/71662/  | 
 | 121 | +[71716]: https://github.com/rust-lang/rust/pull/71716/  | 
 | 122 | +[71447]: https://github.com/rust-lang/rust/pull/71447/  | 
 | 123 | +[71269]: https://github.com/rust-lang/rust/pull/71269/  | 
 | 124 | +[71095]: https://github.com/rust-lang/rust/pull/71095/  | 
 | 125 | +[71140]: https://github.com/rust-lang/rust/pull/71140/  | 
 | 126 | +[70655]: https://github.com/rust-lang/rust/pull/70655/  | 
 | 127 | +[70705]: https://github.com/rust-lang/rust/pull/70705/  | 
 | 128 | +[69984]: https://github.com/rust-lang/rust/pull/69984/  | 
 | 129 | +[69813]: https://github.com/rust-lang/rust/pull/69813/  | 
 | 130 | +[69464]: https://github.com/rust-lang/rust/pull/69464/  | 
 | 131 | +[68717]: https://github.com/rust-lang/rust/pull/68717/  | 
 | 132 | +[`Arc::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Arc.html#method.as_ptr  | 
 | 133 | +[`BTreeMap::remove_entry`]: https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html#method.remove_entry  | 
 | 134 | +[`Rc::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Rc.html#method.as_ptr  | 
 | 135 | +[`rc::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.as_ptr  | 
 | 136 | +[`rc::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.from_raw  | 
 | 137 | +[`rc::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/rc/struct.Weak.html#method.into_raw  | 
 | 138 | +[`sync::Weak::as_ptr`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.as_ptr  | 
 | 139 | +[`sync::Weak::from_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.from_raw  | 
 | 140 | +[`sync::Weak::into_raw`]: https://doc.rust-lang.org/stable/std/sync/struct.Weak.html#method.into_raw  | 
 | 141 | +[`str::strip_prefix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_prefix  | 
 | 142 | +[`str::strip_suffix`]: https://doc.rust-lang.org/stable/std/primitive.str.html#method.strip_suffix  | 
 | 143 | +[`char::UNICODE_VERSION`]: https://doc.rust-lang.org/stable/std/char/constant.UNICODE_VERSION.html  | 
 | 144 | +[`Span::resolved_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.resolved_at  | 
 | 145 | +[`Span::located_at`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.located_at  | 
 | 146 | +[`Span::mixed_site`]: https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.mixed_site  | 
 | 147 | +[`unix::process::CommandExt::arg0`]: https://doc.rust-lang.org/std/os/unix/process/trait.CommandExt.html#tymethod.arg0  | 
 | 148 | + | 
 | 149 | + | 
 | 150 | +Version 1.44.1 (2020-06-18)  | 
 | 151 | +===========================  | 
 | 152 | + | 
 | 153 | +* [rustfmt accepts rustfmt_skip in cfg_attr again.][73078]  | 
 | 154 | +* [Don't hash executable filenames on apple platforms, fixing backtraces.][cargo/8329]  | 
 | 155 | +* [Fix crashes when finding backtrace on macOS.][71397]  | 
 | 156 | +* [Clippy applies lint levels into different files.][clippy/5356]  | 
 | 157 | + | 
 | 158 | +[71397]: https://github.com/rust-lang/rust/issues/71397  | 
 | 159 | +[73078]: https://github.com/rust-lang/rust/issues/73078  | 
 | 160 | +[cargo/8329]: https://github.com/rust-lang/cargo/pull/8329  | 
 | 161 | +[clippy/5356]: https://github.com/rust-lang/rust-clippy/issues/5356  | 
 | 162 | + | 
 | 163 | + | 
1 | 164 | Version 1.44.0 (2020-06-04)  | 
2 | 165 | ==========================  | 
3 | 166 | 
 
  | 
 | 
0 commit comments