|
| 1 | +Version 1.44.0 (2020-06-04) |
| 2 | +========================== |
| 3 | + |
| 4 | +Language |
| 5 | +-------- |
| 6 | +- [You can now use `async/.await` with `#[no_std]` enabled.][69033] |
| 7 | +- [Added the `unused_braces` lint.][70081] |
| 8 | + |
| 9 | +**Syntax-only changes** |
| 10 | + |
| 11 | +- [Expansion-driven outline module parsing][69838] |
| 12 | + |
| 13 | +These are still rejected semantically, so you will likely receive an error but |
| 14 | +these changes can be seen and parsed by macros and conditional compilation. |
| 15 | + |
| 16 | +Compiler |
| 17 | +-------- |
| 18 | +- [Rustc now respects the `-C codegen-units` flag in incremental mode.][70156] |
| 19 | + Additionally when incremental mode rustc defaults to 256 codegen units. |
| 20 | +- [Added tier 3\* support for the `aarch64-unknown-none` and |
| 21 | + `aarch64-unknown-none-softfloat` targets.][68334] |
| 22 | +- [Refactored `catch_unwind`, to have zero-cost unless unwinding is enabled and |
| 23 | + a panic is thrown.][67502] |
| 24 | + |
| 25 | +Libraries |
| 26 | +--------- |
| 27 | +- [Special cased `vec![]` to map directly to `Vec::new()`.][70632] This allows |
| 28 | + `vec![]` to be able to be used in `const` contexts. |
| 29 | +- [`convert::Infallible` now implements `Hash`.][70281] |
| 30 | +- [`OsString` now implements `DerefMut` and `IndexMut` returning |
| 31 | + a `&mut OsStr`.][70048] |
| 32 | +- [Unicode 13 is now supported.][69929] |
| 33 | +- [`String` now implements `From<&mut str>`.][69661] |
| 34 | +- [`IoSlice` now implements `Copy`.][69403] |
| 35 | +- [`Vec<T>` now implements `From<[T; N]>`.][68692] Where `N` is less than 32. |
| 36 | + |
| 37 | +Stabilized APIs |
| 38 | +--------------- |
| 39 | +- [`PathBuf::with_capacity`] |
| 40 | +- [`PathBuf::capacity`] |
| 41 | +- [`PathBuf::clear`] |
| 42 | +- [`PathBuf::reserve`] |
| 43 | +- [`PathBuf::reserve_exact`] |
| 44 | +- [`PathBuf::shrink_to_fit`] |
| 45 | +- [`f32::to_int_unchecked`] |
| 46 | +- [`f64::to_int_unchecked`] |
| 47 | +- [`Layout::align_to`] |
| 48 | +- [`Layout::pad_to_align`] |
| 49 | +- [`Layout::array`] |
| 50 | + |
| 51 | +Cargo |
| 52 | +----- |
| 53 | +- [Added the `cargo tree` command which will print a tree graph of |
| 54 | + your dependencies.][cargo/8062] E.g. |
| 55 | + ``` |
| 56 | + mdbook v0.3.2 (/Users/src/rust/mdbook) |
| 57 | + ├── ammonia v3.0.0 |
| 58 | + │ ├── html5ever v0.24.0 |
| 59 | + │ │ ├── log v0.4.8 |
| 60 | + │ │ │ └── cfg-if v0.1.9 |
| 61 | + │ │ ├── mac v0.1.1 |
| 62 | + │ │ └── markup5ever v0.9.0 |
| 63 | + │ │ ├── log v0.4.8 (*) |
| 64 | + │ │ ├── phf v0.7.24 |
| 65 | + │ │ │ └── phf_shared v0.7.24 |
| 66 | + │ │ │ ├── siphasher v0.2.3 |
| 67 | + │ │ │ └── unicase v1.4.2 |
| 68 | + │ │ │ [build-dependencies] |
| 69 | + │ │ │ └── version_check v0.1.5 |
| 70 | + ... |
| 71 | + ``` |
| 72 | + |
| 73 | +Misc |
| 74 | +---- |
| 75 | +- [Rustdoc now allows you to specify `--crate-version` to have rustdoc include |
| 76 | + the version in the sidebar.][69494] |
| 77 | + |
| 78 | +Compatibility Notes |
| 79 | +------------------- |
| 80 | +- [Rustc now correctly generates static libraries on Windows GNU targets with |
| 81 | + the `.a` extension, rather than the previous `.lib`.][70937] |
| 82 | +- [Removed the `-C no_integrated_as` flag from rustc.][70345] |
| 83 | +- [The `file_name` property in JSON output of macro errors now points the actual |
| 84 | + source file rather than the previous format of `<NAME macros>`.][70969] |
| 85 | + **Note:** this may not point a file that actually exists on the user's system. |
| 86 | +- [The minimum required external LLVM version has been bumped to LLVM 8.][71147] |
| 87 | + |
| 88 | +Internal Only |
| 89 | +------------- |
| 90 | +These changes provide no direct user facing benefits, but represent significant |
| 91 | +improvements to the internals and overall performance of rustc and |
| 92 | +related tools. |
| 93 | + |
| 94 | +- [dep_graph Avoid allocating a set on when the number reads are small.][69778] |
| 95 | +- [Replace big JS dict with JSON parsing.][71250] |
| 96 | + |
| 97 | + |
| 98 | +[71147]: https://github.com/rust-lang/rust/pull/71147/ |
| 99 | +[71250]: https://github.com/rust-lang/rust/pull/71250/ |
| 100 | +[70937]: https://github.com/rust-lang/rust/pull/70937/ |
| 101 | +[70969]: https://github.com/rust-lang/rust/pull/70969/ |
| 102 | +[70632]: https://github.com/rust-lang/rust/pull/70632/ |
| 103 | +[70281]: https://github.com/rust-lang/rust/pull/70281/ |
| 104 | +[70345]: https://github.com/rust-lang/rust/pull/70345/ |
| 105 | +[70048]: https://github.com/rust-lang/rust/pull/70048/ |
| 106 | +[70081]: https://github.com/rust-lang/rust/pull/70081/ |
| 107 | +[70156]: https://github.com/rust-lang/rust/pull/70156/ |
| 108 | +[69838]: https://github.com/rust-lang/rust/pull/69838/ |
| 109 | +[69929]: https://github.com/rust-lang/rust/pull/69929/ |
| 110 | +[69661]: https://github.com/rust-lang/rust/pull/69661/ |
| 111 | +[69778]: https://github.com/rust-lang/rust/pull/69778/ |
| 112 | +[69494]: https://github.com/rust-lang/rust/pull/69494/ |
| 113 | +[69403]: https://github.com/rust-lang/rust/pull/69403/ |
| 114 | +[69033]: https://github.com/rust-lang/rust/pull/69033/ |
| 115 | +[68692]: https://github.com/rust-lang/rust/pull/68692/ |
| 116 | +[68334]: https://github.com/rust-lang/rust/pull/68334/ |
| 117 | +[67502]: https://github.com/rust-lang/rust/pull/67502/ |
| 118 | +[cargo/8062]: https://github.com/rust-lang/cargo/pull/8062/ |
| 119 | +[`PathBuf::with_capacity`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.with_capacity |
| 120 | +[`PathBuf::capacity`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.capacity |
| 121 | +[`PathBuf::clear`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.clear |
| 122 | +[`PathBuf::reserve`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.reserve |
| 123 | +[`PathBuf::reserve_exact`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.reserve_exact |
| 124 | +[`PathBuf::shrink_to_fit`]: https://doc.rust-lang.org/beta/std/path/struct.PathBuf.html#method.shrink_to_fit |
| 125 | +[`f32::to_int_unchecked`]: https://doc.rust-lang.org/beta/std/primitive.f32.html#method.to_int_unchecked |
| 126 | +[`f64::to_int_unchecked`]: https://doc.rust-lang.org/beta/std/primitive.f64.html#method.to_int_unchecked |
| 127 | +[`Layout::align_to`]: https://doc.rust-lang.org/beta/std/alloc/struct.Layout.html#method.align_to |
| 128 | +[`Layout::pad_to_align`]: https://doc.rust-lang.org/beta/std/alloc/struct.Layout.html#method.pad_to_align |
| 129 | +[`Layout::array`]: https://doc.rust-lang.org/beta/std/alloc/struct.Layout.html#method.array |
| 130 | + |
| 131 | + |
1 | 132 | Version 1.43.1 (2020-05-07)
|
2 | 133 | ===========================
|
3 | 134 |
|
|
0 commit comments