From 3ee4b0ea645a8eb4f0617b939f5b276963163986 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Wed, 14 Oct 2020 17:02:04 +0200 Subject: [PATCH 01/18] Ensure that the source code display is working with DOS backline --- src/librustdoc/html/highlight.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs index 4769edc50ff07..986337336540a 100644 --- a/src/librustdoc/html/highlight.rs +++ b/src/librustdoc/html/highlight.rs @@ -21,6 +21,8 @@ pub fn render_with_highlighting( playground_button: Option<&str>, tooltip: Option<(&str, &str)>, ) -> String { + // This replace allows to fix how the code source with DOS backline characters is displayed. + let src = src.replace("\r\n", "\n"); debug!("highlighting: ================\n{}\n==============", src); let mut out = String::with_capacity(src.len()); if let Some((tooltip, class)) = tooltip { From 096b8b0e45dc78c3525a72c47a798dfb30105812 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 15 Nov 2020 20:51:25 +0100 Subject: [PATCH 02/18] Add test to ensure that no DOS backline (\r\n) doesn't create extra backline in source rendering --- src/librustdoc/html/highlight.rs | 6 ++-- .../html/highlight/fixtures/dos_line.html | 3 ++ src/librustdoc/html/highlight/tests.rs | 32 ++++++++++++------- 3 files changed, 27 insertions(+), 14 deletions(-) create mode 100644 src/librustdoc/html/highlight/fixtures/dos_line.html diff --git a/src/librustdoc/html/highlight.rs b/src/librustdoc/html/highlight.rs index 986337336540a..b5fe593dc0105 100644 --- a/src/librustdoc/html/highlight.rs +++ b/src/librustdoc/html/highlight.rs @@ -21,8 +21,6 @@ pub fn render_with_highlighting( playground_button: Option<&str>, tooltip: Option<(&str, &str)>, ) -> String { - // This replace allows to fix how the code source with DOS backline characters is displayed. - let src = src.replace("\r\n", "\n"); debug!("highlighting: ================\n{}\n==============", src); let mut out = String::with_capacity(src.len()); if let Some((tooltip, class)) = tooltip { @@ -48,7 +46,9 @@ fn write_header(out: &mut String, class: Option<&str>) { } fn write_code(out: &mut String, src: &str) { - Classifier::new(src).highlight(&mut |highlight| { + // This replace allows to fix how the code source with DOS backline characters is displayed. + let src = src.replace("\r\n", "\n"); + Classifier::new(&src).highlight(&mut |highlight| { match highlight { Highlight::Token { text, class } => string(out, Escape(text), class), Highlight::EnterSpan { class } => enter_span(out, class), diff --git a/src/librustdoc/html/highlight/fixtures/dos_line.html b/src/librustdoc/html/highlight/fixtures/dos_line.html new file mode 100644 index 0000000000000..4400f85681d8a --- /dev/null +++ b/src/librustdoc/html/highlight/fixtures/dos_line.html @@ -0,0 +1,3 @@ +pub fn foo() { +println!("foo"); +} diff --git a/src/librustdoc/html/highlight/tests.rs b/src/librustdoc/html/highlight/tests.rs index c79471b1fae6b..f57f52d6f0875 100644 --- a/src/librustdoc/html/highlight/tests.rs +++ b/src/librustdoc/html/highlight/tests.rs @@ -1,17 +1,6 @@ use super::write_code; use expect_test::expect_file; -#[test] -fn test_html_highlighting() { - let src = include_str!("fixtures/sample.rs"); - let html = { - let mut out = String::new(); - write_code(&mut out, src); - format!("{}
{}
\n", STYLE, out) - }; - expect_file!["fixtures/sample.html"].assert_eq(&html); -} - const STYLE: &str = r#" "#; + +#[test] +fn test_html_highlighting() { + let src = include_str!("fixtures/sample.rs"); + let html = { + let mut out = String::new(); + write_code(&mut out, src); + format!("{}
{}
\n", STYLE, out) + }; + expect_file!["fixtures/sample.html"].assert_eq(&html); +} + +#[test] +fn test_dos_backline() { + let src = "pub fn foo() {\r\n\ + println!(\"foo\");\r\n\ +}\r\n"; + let mut html = String::new(); + write_code(&mut html, src); + expect_file!["fixtures/dos_line.html"].assert_eq(&html); +} From fa0791563ecd94b9de3fd6b7ba98134d0f9a69f4 Mon Sep 17 00:00:00 2001 From: Camelid <37223377+camelid@users.noreply.github.com> Date: Sat, 3 Oct 2020 13:30:37 -0700 Subject: [PATCH 03/18] Fix capitalization in blog post name --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 62d30842b230c..ce11a74b71f53 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -90,7 +90,7 @@ Compatibility Notes Internal Only -------- -- [Improved default settings for bootstrapping in `x.py`.][73964] You can read details about this change in the ["Changes To `x.py` Defaults"](https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html) post on the Inside Rust blog. +- [Improved default settings for bootstrapping in `x.py`.][73964] You can read details about this change in the ["Changes to `x.py` defaults"](https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html) post on the Inside Rust blog. [1.47.0-cfg]: https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard [75048]: /~https://github.com/rust-lang/rust/pull/75048/ From 576ff3015a1dfe34f66e9d3b43684fec99971af8 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Fri, 30 Oct 2020 16:42:07 +0900 Subject: [PATCH 04/18] Add LLVM upgrades from 7 to 10 to RELEASES.md Fixes #78464 --- RELEASES.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index ce11a74b71f53..c9ff49287637d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -297,6 +297,7 @@ Compiler - [Added the `tiny` value to the `code-model` codegen flag.][72397] - [Added tier 3 support\* for the `mipsel-sony-psp` target.][72062] - [Added tier 3 support for the `thumbv7a-uwp-windows-msvc` target.][72133] +- [Upgraded to LLVM 10.][67759] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. @@ -396,6 +397,7 @@ Internals Only [72062]: /~https://github.com/rust-lang/rust/pull/72062/ [72094]: /~https://github.com/rust-lang/rust/pull/72094/ [72133]: /~https://github.com/rust-lang/rust/pull/72133/ +[67759]: /~https://github.com/rust-lang/rust/pull/67759/ [71900]: /~https://github.com/rust-lang/rust/pull/71900/ [71928]: /~https://github.com/rust-lang/rust/pull/71928/ [71662]: /~https://github.com/rust-lang/rust/pull/71662/ @@ -1270,6 +1272,7 @@ Compiler `armv7-unknown-linux-musleabi` targets.][63107] - [Added tier 3 support for the `hexagon-unknown-linux-musl` target.][62814] - [Added tier 3 support for the `riscv32i-unknown-none-elf` target.][62784] +- [Upgraded to LLVM 9.][62592] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. @@ -1336,6 +1339,7 @@ Compatibility Notes [62735]: /~https://github.com/rust-lang/rust/pull/62735/ [62766]: /~https://github.com/rust-lang/rust/pull/62766/ [62784]: /~https://github.com/rust-lang/rust/pull/62784/ +[62592]: /~https://github.com/rust-lang/rust/pull/62592/ [62785]: /~https://github.com/rust-lang/rust/issues/62785/ [62814]: /~https://github.com/rust-lang/rust/pull/62814/ [62896]: /~https://github.com/rust-lang/rust/issues/62896/ @@ -2431,6 +2435,7 @@ Compiler -------- - [Added the `riscv32imc-unknown-none-elf` target.][53822] - [Added the `aarch64-unknown-netbsd` target][53165] +- [Upgraded to LLVM 8.][53611] Libraries --------- @@ -2479,6 +2484,7 @@ Misc [53033]: /~https://github.com/rust-lang/rust/pull/53033/ [53044]: /~https://github.com/rust-lang/rust/pull/53044/ [53165]: /~https://github.com/rust-lang/rust/pull/53165/ +[53611]: /~https://github.com/rust-lang/rust/pull/53611/ [53213]: /~https://github.com/rust-lang/rust/pull/53213/ [53236]: /~https://github.com/rust-lang/rust/pull/53236/ [53272]: /~https://github.com/rust-lang/rust/pull/53272/ @@ -2537,6 +2543,7 @@ Compiler - [Bumped minimum LLVM version to 5.0.][51899] - [Added `powerpc64le-unknown-linux-musl` target.][51619] - [Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.][52861] +- [Upgraded to LLVM 7.][51966] Libraries --------- @@ -2588,6 +2595,7 @@ Compatibility Notes [53893]: /~https://github.com/rust-lang/rust/pull/53893/ [52861]: /~https://github.com/rust-lang/rust/pull/52861/ +[51966]: /~https://github.com/rust-lang/rust/pull/51966/ [52656]: /~https://github.com/rust-lang/rust/pull/52656/ [52239]: /~https://github.com/rust-lang/rust/pull/52239/ [52330]: /~https://github.com/rust-lang/rust/pull/52330/ From 66e523481da19645b6ce9f984352c5bbb038199e Mon Sep 17 00:00:00 2001 From: Erin Power Date: Sun, 25 Oct 2020 18:09:28 +0100 Subject: [PATCH 05/18] Update RELEASES.md for 1.48.0 --- RELEASES.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index c9ff49287637d..744e569ea8441 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1,3 +1,125 @@ +Version 1.48.0 (2020-11-19) +========================== + +Language +-------- + +- [The `unsafe` keyword is now syntactically permitted on modules.][75857] This + is still rejected *semantically*, but can now be parsed by procedural macros. + +Compiler +-------- +- [Stabilised the `-C link=`][76158] Which tells `rustc` whether to link + its own libraries or to rely on a external linker. (supported only on + `windows-gnu`, `linux-musl`, and `wasi` platforms.) +- [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] +- [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] + +Libraries +--------- +- [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`, + and `&Stderr`.][76275] +- [All arrays now implement `TryFrom>`.][76310] +- [The `matches!` macro now supports having a trailing comma.][74880] +- [`Vec` now implements `PartialEq<[B]>` where `A: PartialEq`.][74194] +- [Nearly all of `Cell`'s panicking functions now use the `#[track_caller]` + attribute.][77055] + +Stabilized APIs +--------------- +- [`slice::as_ptr_range`] +- [`slice::as_mut_ptr_range`] +- [`VecDeque::make_contiguous`] +- [`future::pending`] +- [`future::ready`] + +The following previously stable methods are now `const fn`'s: + +- [`Option::is_some`] +- [`Option::is_none`] +- [`Option::as_ref`] +- [`Result::is_ok`] +- [`Result::is_err`] +- [`Result::as_ref`] +- [`Ordering::reverse`] +- [`Ordering::then`] + +Cargo +----- + +Misc +---- +- [You can now link to different items in `rustdoc` using the intra-doc link + syntax.][74430] E.g. ``/// Uses [`std::future`] `` will automatically generate + a link to `std::future`'s documentation. See ["Linking to items by + name"][intradoc-links] for more information. +- [You can now specify `#[doc(alias = "")]` on items to add search aliases + when searching through `rustdoc`'s UI.][75740] +- [You can now use `rustup install .` to specify installing the + latest availeble patch of that minor version of the toolchain.][76107] E.g. + `rustup install 1.45` would install `1.45.2`, and `1.46` would install `1.46.0`. + +Compatibility Notes +------------------- +- [`const fn`s are now implicitly promoted to `const`.][75502] Meaning that it + will only warn if your code fails `const` evaluation, and not produce an error. +- [Associated type bindings on trait objects are now verified to meet the bounds + declared on the trait when checking that they implement the trait.][27675] +- [When traits bounds on associated types or opaque types are ambiguous the + compiler no longer makes an arbitrary choice on which bound to use.][54121] +- [Fixed recursive nonterminals not being expended in macros during + pretty-print/reparse check.][77153] This may cause errors if your macro wasn't + correctly handling recursive nonterminal tokens. +- [`&mut` references to non zero-sized types are not longer promoted.][75585] +- [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]` + in places where they have no effect.][73461] +- [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in + `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166] + + + +Internal Only +------------- +- [Building `rustc` from source now uses `ninja` by default over `make`.][74922] + You can continue building with `make` by setting `ninja=false` in + your `config.toml`. + +[27675]: /~https://github.com/rust-lang/rust/issues/27675/ +[54121]: /~https://github.com/rust-lang/rust/issues/54121/ +[77386]: /~https://github.com/rust-lang/rust/pull/77386/ +[77153]: /~https://github.com/rust-lang/rust/pull/77153/ +[77055]: /~https://github.com/rust-lang/rust/pull/77055/ +[76275]: /~https://github.com/rust-lang/rust/pull/76275/ +[76310]: /~https://github.com/rust-lang/rust/pull/76310/ +[76420]: /~https://github.com/rust-lang/rust/pull/76420/ +[76107]: /~https://github.com/rust-lang/rust/pull/76107/ +[76158]: /~https://github.com/rust-lang/rust/pull/76158/ +[75857]: /~https://github.com/rust-lang/rust/pull/75857/ +[75585]: /~https://github.com/rust-lang/rust/pull/75585/ +[75740]: /~https://github.com/rust-lang/rust/pull/75740/ +[75502]: /~https://github.com/rust-lang/rust/pull/75502/ +[74880]: /~https://github.com/rust-lang/rust/pull/74880/ +[74922]: /~https://github.com/rust-lang/rust/pull/74922/ +[74430]: /~https://github.com/rust-lang/rust/pull/74430/ +[74194]: /~https://github.com/rust-lang/rust/pull/74194/ +[73461]: /~https://github.com/rust-lang/rust/pull/73461/ +[73166]: /~https://github.com/rust-lang/rust/pull/73166/ +[intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html +[`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some +[`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none +[`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref +[`Result::is_ok`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_ok +[`Result::is_err`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_err +[`Result::as_ref`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.as_ref +[`Ordering::reverse`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.reverse +[`Ordering::then`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.then +[`slice::as_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr_range +[`slice::as_mut_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_mut_ptr_range +[`VecDeque::make_contiguous`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.make_contiguous +[`future::pending`]: https://doc.rust-lang.org/std/future/fn.pending.html +[`future::ready`]: https://doc.rust-lang.org/std/future/fn.ready.html + + Version 1.47.0 (2020-10-08) ========================== From 69388d5dd9fe043bedb45ed472901f69b3fcda62 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Sun, 25 Oct 2020 18:12:40 +0100 Subject: [PATCH 06/18] Update RELEASES.md --- RELEASES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index 744e569ea8441..bfa01f3dd352b 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -15,6 +15,9 @@ Compiler - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] +\* Refer to Rust's [platform support page][forge-platform-support] for more +information on Rust's tiered platform support. + Libraries --------- - [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`, From 5e51cb43c6cd7e52a256da858e196f51e0a6fe50 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:43:00 +0100 Subject: [PATCH 07/18] Update RELEASES.md Co-authored-by: Vadim Petrochenkov --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index bfa01f3dd352b..5e90a27fe4efb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -9,7 +9,7 @@ Language Compiler -------- -- [Stabilised the `-C link=`][76158] Which tells `rustc` whether to link +- [Stabilised the `-C link-self-contained=`][76158] Which tells `rustc` whether to link its own libraries or to rely on a external linker. (supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] From 1a41a515c4204dedf1a40ddd99b31f1b6297683c Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Sun, 25 Oct 2020 20:43:44 +0100 Subject: [PATCH 08/18] Apply suggestions from code review Co-authored-by: Vadim Petrochenkov Co-authored-by: Jonas Schievink Co-authored-by: Yuki Okushi --- RELEASES.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 5e90a27fe4efb..3a925e4eabad8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -10,10 +10,10 @@ Language Compiler -------- - [Stabilised the `-C link-self-contained=`][76158] Which tells `rustc` whether to link - its own libraries or to rely on a external linker. (supported only on + its own C runtime and libraries or to rely on a external linker to find them. (supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] -- [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] +- [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. @@ -53,13 +53,13 @@ Cargo Misc ---- - [You can now link to different items in `rustdoc` using the intra-doc link - syntax.][74430] E.g. ``/// Uses [`std::future`] `` will automatically generate + syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate a link to `std::future`'s documentation. See ["Linking to items by name"][intradoc-links] for more information. - [You can now specify `#[doc(alias = "")]` on items to add search aliases when searching through `rustdoc`'s UI.][75740] - [You can now use `rustup install .` to specify installing the - latest availeble patch of that minor version of the toolchain.][76107] E.g. + latest available patch of that minor version of the toolchain.][76107] E.g. `rustup install 1.45` would install `1.45.2`, and `1.46` would install `1.46.0`. Compatibility Notes @@ -68,12 +68,12 @@ Compatibility Notes will only warn if your code fails `const` evaluation, and not produce an error. - [Associated type bindings on trait objects are now verified to meet the bounds declared on the trait when checking that they implement the trait.][27675] -- [When traits bounds on associated types or opaque types are ambiguous the +- [When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use.][54121] - [Fixed recursive nonterminals not being expended in macros during pretty-print/reparse check.][77153] This may cause errors if your macro wasn't correctly handling recursive nonterminal tokens. -- [`&mut` references to non zero-sized types are not longer promoted.][75585] +- [`&mut` references to non zero-sized types are no longer promoted.][75585] - [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]` in places where they have no effect.][73461] - [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in From 17ab04c238ba12ff9ffd16578f40178d065fb662 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Mon, 26 Oct 2020 07:11:03 +0100 Subject: [PATCH 09/18] Apply suggestions from code review Co-authored-by: Camelid Co-authored-by: Mark Rousskov --- RELEASES.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 3a925e4eabad8..9d2347c71e0be 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -9,8 +9,8 @@ Language Compiler -------- -- [Stabilised the `-C link-self-contained=`][76158] Which tells `rustc` whether to link - its own C runtime and libraries or to rely on a external linker to find them. (supported only on +- [Stabilised the `-C link-self-contained=`.][76158] This tells `rustc` whether to link + its own C runtime and libraries or to rely on a external linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] @@ -52,14 +52,14 @@ Cargo Misc ---- -- [You can now link to different items in `rustdoc` using the intra-doc link +- [You can now link to items in `rustdoc` using the intra-doc link syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate a link to `std::future`'s documentation. See ["Linking to items by name"][intradoc-links] for more information. - [You can now specify `#[doc(alias = "")]` on items to add search aliases when searching through `rustdoc`'s UI.][75740] - [You can now use `rustup install .` to specify installing the - latest available patch of that minor version of the toolchain.][76107] E.g. + latest available patch of the specified minor version of the toolchain.][76107] E.g. `rustup install 1.45` would install `1.45.2`, and `1.46` would install `1.46.0`. Compatibility Notes @@ -70,7 +70,7 @@ Compatibility Notes declared on the trait when checking that they implement the trait.][27675] - [When trait bounds on associated types or opaque types are ambiguous, the compiler no longer makes an arbitrary choice on which bound to use.][54121] -- [Fixed recursive nonterminals not being expended in macros during +- [Fixed recursive nonterminals not being expanded in macros during pretty-print/reparse check.][77153] This may cause errors if your macro wasn't correctly handling recursive nonterminal tokens. - [`&mut` references to non zero-sized types are no longer promoted.][75585] From 59c9d14802c1423bdd72b19d0817edf72f7a8af9 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Mon, 26 Oct 2020 11:23:54 +0100 Subject: [PATCH 10/18] Update RELEASES.md --- RELEASES.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 9d2347c71e0be..bfcd65d9fa84e 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -50,14 +50,17 @@ The following previously stable methods are now `const fn`'s: Cargo ----- -Misc ----- +Rustdoc +------- - [You can now link to items in `rustdoc` using the intra-doc link syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate a link to `std::future`'s documentation. See ["Linking to items by name"][intradoc-links] for more information. - [You can now specify `#[doc(alias = "")]` on items to add search aliases when searching through `rustdoc`'s UI.][75740] + +Rustup +------ - [You can now use `rustup install .` to specify installing the latest available patch of the specified minor version of the toolchain.][76107] E.g. `rustup install 1.45` would install `1.45.2`, and `1.46` would install `1.46.0`. @@ -78,8 +81,8 @@ Compatibility Notes in places where they have no effect.][73461] - [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166] - - +- [`mem::uninitialized` will now panic if any inner types inside a struct or enum + disallow zero-initialization].[71274] Internal Only ------------- @@ -88,7 +91,8 @@ Internal Only your `config.toml`. [27675]: /~https://github.com/rust-lang/rust/issues/27675/ -[54121]: /~https://github.com/rust-lang/rust/issues/54121/ +[54121]: /~https://github.com/rust-lang/rust/issues/54121/ +[71274]: /~https://github.com/rust-lang/rust/pull/71274/ [77386]: /~https://github.com/rust-lang/rust/pull/77386/ [77153]: /~https://github.com/rust-lang/rust/pull/77153/ [77055]: /~https://github.com/rust-lang/rust/pull/77055/ From 779696b0c84bf2fb351bdf182cf1b9edfa0046a5 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Mon, 26 Oct 2020 11:24:31 +0100 Subject: [PATCH 11/18] Update RELEASES.md --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index bfcd65d9fa84e..5671a6e65d8f4 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -82,7 +82,7 @@ Compatibility Notes - [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166] - [`mem::uninitialized` will now panic if any inner types inside a struct or enum - disallow zero-initialization].[71274] + disallow zero-initialization.][71274] Internal Only ------------- From da309ab1da2f43213ed4aaa3ab0737ce17a25500 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Mon, 26 Oct 2020 11:30:23 +0100 Subject: [PATCH 12/18] Update RELEASES.md --- RELEASES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 5671a6e65d8f4..8403dfc8157b3 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -22,7 +22,7 @@ Libraries --------- - [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`, and `&Stderr`.][76275] -- [All arrays now implement `TryFrom>`.][76310] +- [All arrays of any length now implement `TryFrom>`.][76310] - [The `matches!` macro now supports having a trailing comma.][74880] - [`Vec` now implements `PartialEq<[B]>` where `A: PartialEq`.][74194] - [Nearly all of `Cell`'s panicking functions now use the `#[track_caller]` From d66b0956fea642715172fddef4098e3adf9a047f Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Tue, 27 Oct 2020 11:00:07 +0100 Subject: [PATCH 13/18] Update RELEASES.md --- RELEASES.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index 8403dfc8157b3..d451198831229 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -58,12 +58,6 @@ Rustdoc name"][intradoc-links] for more information. - [You can now specify `#[doc(alias = "")]` on items to add search aliases when searching through `rustdoc`'s UI.][75740] - -Rustup ------- -- [You can now use `rustup install .` to specify installing the - latest available patch of the specified minor version of the toolchain.][76107] E.g. - `rustup install 1.45` would install `1.45.2`, and `1.46` would install `1.46.0`. Compatibility Notes ------------------- @@ -83,6 +77,9 @@ Compatibility Notes `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166] - [`mem::uninitialized` will now panic if any inner types inside a struct or enum disallow zero-initialization.][71274] +- [`#[target_feature]` will now error if used in a place where it has no effect.][78143] + +[78143]: /~https://github.com/rust-lang/rust/issues/78143 Internal Only ------------- @@ -99,7 +96,6 @@ Internal Only [76275]: /~https://github.com/rust-lang/rust/pull/76275/ [76310]: /~https://github.com/rust-lang/rust/pull/76310/ [76420]: /~https://github.com/rust-lang/rust/pull/76420/ -[76107]: /~https://github.com/rust-lang/rust/pull/76107/ [76158]: /~https://github.com/rust-lang/rust/pull/76158/ [75857]: /~https://github.com/rust-lang/rust/pull/75857/ [75585]: /~https://github.com/rust-lang/rust/pull/75585/ From 34830e88982581d5f48f3df2383a6c09a84ddbea Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Tue, 27 Oct 2020 13:04:05 +0100 Subject: [PATCH 14/18] Update RELEASES.md --- RELEASES.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index d451198831229..a32a6dd7cd5d9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -25,8 +25,7 @@ Libraries - [All arrays of any length now implement `TryFrom>`.][76310] - [The `matches!` macro now supports having a trailing comma.][74880] - [`Vec` now implements `PartialEq<[B]>` where `A: PartialEq`.][74194] -- [Nearly all of `Cell`'s panicking functions now use the `#[track_caller]` - attribute.][77055] +- [The `RefCell::{replace, replace_with, clone}` methods now all use `#[track_caller]`.][77055] Stabilized APIs --------------- @@ -61,8 +60,9 @@ Rustdoc Compatibility Notes ------------------- -- [`const fn`s are now implicitly promoted to `const`.][75502] Meaning that it - will only warn if your code fails `const` evaluation, and not produce an error. +- [Promotion of references to `'static` lifetime inside `const fn` now follows the + same rules as inside a `fn` body.][75502] In particular, `&foo()` will not be + promoted to `'static` lifetime any more inside `const fn`s. - [Associated type bindings on trait objects are now verified to meet the bounds declared on the trait when checking that they implement the trait.][27675] - [When trait bounds on associated types or opaque types are ambiguous, the From b38e18fe601c2d2288b900745bc7b49a5818891c Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Tue, 27 Oct 2020 13:07:14 +0100 Subject: [PATCH 15/18] Update RELEASES.md --- RELEASES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/RELEASES.md b/RELEASES.md index a32a6dd7cd5d9..081034288dbb9 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -9,9 +9,9 @@ Language Compiler -------- -- [Stabilised the `-C link-self-contained=`.][76158] This tells `rustc` whether to link - its own C runtime and libraries or to rely on a external linker to find them. (Supported only on - `windows-gnu`, `linux-musl`, and `wasi` platforms.) +- [Stabilised the `-C link-self-contained=` compiler flag.][76158] This tells + `rustc` whether to link its own C runtime and libraries or to rely on a external + linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] From e1329ebc7011673244c4c1fd8ee73347b9b684ea Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Thu, 29 Oct 2020 16:28:17 +0100 Subject: [PATCH 16/18] Update RELEASES.md --- RELEASES.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/RELEASES.md b/RELEASES.md index 081034288dbb9..385974a5dc7ae 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -78,15 +78,25 @@ Compatibility Notes - [`mem::uninitialized` will now panic if any inner types inside a struct or enum disallow zero-initialization.][71274] - [`#[target_feature]` will now error if used in a place where it has no effect.][78143] +- [Foreign exceptions are now caught by `catch_unwind` and will cause an abort.][70212] [78143]: /~https://github.com/rust-lang/rust/issues/78143 Internal Only ------------- +These changes provide no direct user facing benefits, but represent significant +improvements to the internals and overall performance of rustc and +related tools. + - [Building `rustc` from source now uses `ninja` by default over `make`.][74922] You can continue building with `make` by setting `ninja=false` in your `config.toml`. +- [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030] +- [Made `ensure_sufficient_stack()` non-generic][76680] +[76680]: /~https://github.com/rust-lang/rust/pull/76680/ +[76030]: /~https://github.com/rust-lang/rust/pull/76030/ +[70212]: /~https://github.com/rust-lang/rust/pull/70212/ [27675]: /~https://github.com/rust-lang/rust/issues/27675/ [54121]: /~https://github.com/rust-lang/rust/issues/54121/ [71274]: /~https://github.com/rust-lang/rust/pull/71274/ @@ -215,6 +225,7 @@ Compatibility Notes Internal Only -------- + - [Improved default settings for bootstrapping in `x.py`.][73964] You can read details about this change in the ["Changes to `x.py` defaults"](https://blog.rust-lang.org/inside-rust/2020/08/30/changes-to-x-py-defaults.html) post on the Inside Rust blog. [1.47.0-cfg]: https://docs.microsoft.com/en-us/windows/win32/secbp/control-flow-guard From 69652cbf6c39688df9a71addfd3ecbd0a4fed4cf Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Thu, 12 Nov 2020 16:20:22 +0100 Subject: [PATCH 17/18] Update RELEASES.md --- RELEASES.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/RELEASES.md b/RELEASES.md index 385974a5dc7ae..9fd796fd775bf 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -13,6 +13,7 @@ Compiler `rustc` whether to link its own C runtime and libraries or to rely on a external linker to find them. (Supported only on `windows-gnu`, `linux-musl`, and `wasi` platforms.) - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.][77386] + Note: If you're using cargo you must explicitly pass the `--target` flag. - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420] \* Refer to Rust's [platform support page][forge-platform-support] for more @@ -79,8 +80,10 @@ Compatibility Notes disallow zero-initialization.][71274] - [`#[target_feature]` will now error if used in a place where it has no effect.][78143] - [Foreign exceptions are now caught by `catch_unwind` and will cause an abort.][70212] + Note: This behaviour is not guaranteed and is still considered undefined behaviour, + see the [`catch_unwind`] documentation for further information. + -[78143]: /~https://github.com/rust-lang/rust/issues/78143 Internal Only ------------- @@ -94,6 +97,7 @@ related tools. - [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030] - [Made `ensure_sufficient_stack()` non-generic][76680] +[78143]: /~https://github.com/rust-lang/rust/issues/78143 [76680]: /~https://github.com/rust-lang/rust/pull/76680/ [76030]: /~https://github.com/rust-lang/rust/pull/76030/ [70212]: /~https://github.com/rust-lang/rust/pull/70212/ @@ -118,6 +122,7 @@ related tools. [73461]: /~https://github.com/rust-lang/rust/pull/73461/ [73166]: /~https://github.com/rust-lang/rust/pull/73166/ [intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html +[`catch_unwind`]: https://doc.rust-lang.org/std/panic/fn.catch_unwind.html [`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some [`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none [`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref From e82b67770007fdeb7e8dced6408200e3aeaf976a Mon Sep 17 00:00:00 2001 From: Pietro Albini Date: Mon, 16 Nov 2020 10:51:59 +0100 Subject: [PATCH 18/18] bump to the stable channel --- src/ci/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ci/run.sh b/src/ci/run.sh index 8681f84f6ab0a..3a22496bcc81f 100755 --- a/src/ci/run.sh +++ b/src/ci/run.sh @@ -63,7 +63,7 @@ fi # # FIXME: need a scheme for changing this `nightly` value to `beta` and `stable` # either automatically or manually. -export RUST_RELEASE_CHANNEL=beta +export RUST_RELEASE_CHANNEL=stable # Always set the release channel for bootstrap; this is normally not important (i.e., only dist # builds would seem to matter) but in practice bootstrap wants to know whether we're targeting