-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable doctest-in-workspace
by default
#12221
Conversation
r? @weihanglo (rustbot has picked a reviewer for you, use r? to override) |
r? @ehuss |
The tests seem to not have guaranteed ordering, I will take another look at that later. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Things to do:
(read this maybe?)
- Remove this line from unstable.md.
- Move this section to the bottom of unstable.md, and change it accordingly (take other stabilized feature as references).
- Update this paragraph. We should clarify the difference of the current working directory for a test between running
rustdoc
and running a test (or compiling a test if that makes thing clearer).
@rustbot author |
55d30bb
to
9502e71
Compare
Thanks for all the pointers. I updated all the relevant docs you mentioned, and hopefully fixed the test assertions by running packages individually and with @rustbot ready |
9502e71
to
c4e271f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. Only some minor issues left.
(sorry for being opinionated 🙇🏾♂️).
c4e271f
to
7b112c4
Compare
Those are good suggestions! Also fixed another cross-compile related test failing in CI that does not run for me locally. |
This stabilizes and enables the `-Z doctest-in-workspace` flag by default. Also adds another testcase to make sure that the `include!()` and `file!()` macros interact well together.
7b112c4
to
18e290c
Compare
And CI is finally green :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! Thank you for taking care of this feature for such a long time :)
@bors r+ |
☀️ Test successful - checks-actions |
Update cargo 12 commits in 0c14026aa84ee2ec4c67460c0a18abc8519ca6b2..dead4b8740c4b6a8ed5211e37c99cf81d01c3b1c 2023-06-14 18:43:05 +0000 to 2023-06-20 20:07:17 +0000 - Convert valid feature name warning to an error. (rust-lang/cargo#12291) - fix(embedded): Don't pollute script dir with lockfile (rust-lang/cargo#12284) - fix: remove `-Zjobserver-per-rustc` again (rust-lang/cargo#12285) - docs: some tweaks around `cargo test` (rust-lang/cargo#12288) - Enable `doctest-in-workspace` by default (rust-lang/cargo#12221) - fix(embedded): Don't auto-discover build.rs files (rust-lang/cargo#12283) - fix(embeded): Don't pollute the scripts dir with `target/` (rust-lang/cargo#12282) - feat: prepare for the next lockfile bump (rust-lang/cargo#12279) - fix(embedded): Don't create an intermediate manifest (rust-lang/cargo#12268) - refactor(embedded): Switch to `syn` for parsing doc comments (rust-lang/cargo#12258) - fix(embedded): Align package name sanitization with cargo-new (rust-lang/cargo#12255) - Clarify the default behavior of cargo-install. (rust-lang/cargo#12276) r? `@ghost`
Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning](rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64](rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint](rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint](rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint](rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint](rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors](rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics](rust-lang/rust#109005) - [Support for native WASM exceptions](rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).](rust-lang/rust#111326) - [Write to stdout if `-` is given as output file](rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary](rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`](rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen](rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.](rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`](rust-lang/rust#99587) - [io: soften ‘at most one write attempt’ requirement in io::Write::write](rust-lang/rust#107200) - [Specify behavior of HashSet::insert](rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`](rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited](rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators](rust-lang/rust#112632) - [Use 128 bits for TypeId hash](rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.](rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon](rust-lang/rust#108537) - [Add search result item types after their name](rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`](rust-lang/rust#111958) - [Clean up type unification and "unboxing"](rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [openwrt#12221](rust-lang/cargo#12221) [openwrt#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [openwrt#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [openwrt#12291](rust-lang/cargo#12291) Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning](rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64](rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint](rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint](rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint](rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint](rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors](rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics](rust-lang/rust#109005) - [Support for native WASM exceptions](rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).](rust-lang/rust#111326) - [Write to stdout if `-` is given as output file](rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary](rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`](rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen](rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.](rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`](rust-lang/rust#99587) - [io: soften ‘at most one write attempt’ requirement in io::Write::write](rust-lang/rust#107200) - [Specify behavior of HashSet::insert](rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`](rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited](rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators](rust-lang/rust#112632) - [Use 128 bits for TypeId hash](rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.](rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon](rust-lang/rust#108537) - [Add search result item types after their name](rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`](rust-lang/rust#111958) - [Clean up type unification and "unboxing"](rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [openwrt#12221](rust-lang/cargo#12221) [openwrt#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [openwrt#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [openwrt#12291](rust-lang/cargo#12291) Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning](rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64](rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint](rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint](rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint](rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint](rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors](rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics](rust-lang/rust#109005) - [Support for native WASM exceptions](rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).](rust-lang/rust#111326) - [Write to stdout if `-` is given as output file](rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary](rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`](rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen](rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.](rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`](rust-lang/rust#99587) - [io: soften ‘at most one write attempt’ requirement in io::Write::write](rust-lang/rust#107200) - [Specify behavior of HashSet::insert](rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`](rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited](rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators](rust-lang/rust#112632) - [Use 128 bits for TypeId hash](rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.](rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon](rust-lang/rust#108537) - [Add search result item types after their name](rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`](rust-lang/rust#111958) - [Clean up type unification and "unboxing"](rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [openwrt#12221](rust-lang/cargo#12221) [openwrt#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [openwrt#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [openwrt#12291](rust-lang/cargo#12291) Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit 846ee0b) Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning](rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64](rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint](rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint](rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint](rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint](rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors](rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics](rust-lang/rust#109005) - [Support for native WASM exceptions](rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).](rust-lang/rust#111326) - [Write to stdout if `-` is given as output file](rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary](rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`](rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen](rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.](rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`](rust-lang/rust#99587) - [io: soften ‘at most one write attempt’ requirement in io::Write::write](rust-lang/rust#107200) - [Specify behavior of HashSet::insert](rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`](rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited](rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators](rust-lang/rust#112632) - [Use 128 bits for TypeId hash](rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.](rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon](rust-lang/rust#108537) - [Add search result item types after their name](rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`](rust-lang/rust#111958) - [Clean up type unification and "unboxing"](rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [#12221](rust-lang/cargo#12221) [#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [#12291](rust-lang/cargo#12291) Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit 846ee0b) Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Pkgsrc changes: * Adjust patches and cargo checksums to new versions. Upstream changes: Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning] (rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root] (rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64] (rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint] (rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint] (rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint] (rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint] (rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors] (rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects] (rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics] (rust-lang/rust#109005) - [Support for native WASM exceptions] (rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).] (rust-lang/rust#111326) - [Write to stdout if `-` is given as output file] (rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary] (rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`] (rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`] (rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen] (rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.] (rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`] (rust-lang/rust#99587) - [io: soften â<80><98>at most one write attemptâ<80><99> requirement in io::Write::write] (rust-lang/rust#107200) - [Specify behavior of HashSet::insert] (rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`] (rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`] (rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited] (rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators] (rust-lang/rust#112632) - [Use 128 bits for TypeId hash] (rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.] (rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata] (rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon] (rust-lang/rust#108537) - [Add search result item types after their name] (rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`] (rust-lang/rust#111958) - [Clean up type unification and "unboxing"] (rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`] (https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`] (https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`] (https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`] (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`] (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`] (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`] (https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [#12221](rust-lang/cargo#12221) [#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses] (rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [#12291](rust-lang/cargo#12291)
Version 1.72.0 (2023-08-24) ========================== Language -------- - [Replace const eval limit by a lint and add an exponential backoff warning](rust-lang/rust#103877) - [expand: Change how `#![cfg(FALSE)]` behaves on crate root](rust-lang/rust#110141) - [Stabilize inline asm for LoongArch64](rust-lang/rust#111235) - [Uplift `clippy::undropped_manually_drops` lint](rust-lang/rust#111530) - [Uplift `clippy::invalid_utf8_in_unchecked` lint](rust-lang/rust#111543) - [Uplift `clippy::cast_ref_to_mut` lint](rust-lang/rust#111567) - [Uplift `clippy::cmp_nan` lint](rust-lang/rust#111818) - [resolve: Remove artificial import ambiguity errors](rust-lang/rust#112086) - [Don't require associated types with Self: Sized bounds in `dyn Trait` objects](rust-lang/rust#112319) Compiler -------- - [Remember names of `cfg`-ed out items to mention them in diagnostics](rust-lang/rust#109005) - [Support for native WASM exceptions](rust-lang/rust#111322) - [Add support for NetBSD/aarch64-be (big-endian arm64).](rust-lang/rust#111326) - [Write to stdout if `-` is given as output file](rust-lang/rust#111626) - [Force all native libraries to be statically linked when linking a static binary](rust-lang/rust#111698) - [Add Tier 3 support for `loongarch64-unknown-none*`](rust-lang/rust#112310) - [Prevent `.eh_frame` from being emitted for `-C panic=abort`](rust-lang/rust#112403) - [Support 128-bit enum variant in debuginfo codegen](rust-lang/rust#112474) - [compiler: update solaris/illumos to enable tsan support.](rust-lang/rust#112039) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. Libraries --------- - [Document memory orderings of `thread::{park, unpark}`](rust-lang/rust#99587) - [io: soften ‘at most one write attempt’ requirement in io::Write::write](rust-lang/rust#107200) - [Specify behavior of HashSet::insert](rust-lang/rust#107619) - [Relax implicit `T: Sized` bounds on `BufReader<T>`, `BufWriter<T>` and `LineWriter<T>`](rust-lang/rust#111074) - [Update runtime guarantee for `select_nth_unstable`](rust-lang/rust#111974) - [Return `Ok` on kill if process has already exited](rust-lang/rust#112594) - [Implement PartialOrd for `Vec`s over different allocators](rust-lang/rust#112632) - [Use 128 bits for TypeId hash](rust-lang/rust#109953) - [Don't drain-on-drop in DrainFilter impls of various collections.](rust-lang/rust#104455) - [Make `{Arc,Rc,Weak}::ptr_eq` ignore pointer metadata](rust-lang/rust#106450) Rustdoc ------- - [Allow whitespace as path separator like double colon](rust-lang/rust#108537) - [Add search result item types after their name](rust-lang/rust#110688) - [Search for slices and arrays by type with `[]`](rust-lang/rust#111958) - [Clean up type unification and "unboxing"](rust-lang/rust#112233) Stabilized APIs --------------- - [`impl<T: Send> Sync for mpsc::Sender<T>`](https://doc.rust-lang.org/nightly/std/sync/mpsc/struct.Sender.html#impl-Sync-for-Sender%3CT%3E) - [`impl TryFrom<&OsStr> for &str`](https://doc.rust-lang.org/nightly/std/primitive.str.html#impl-TryFrom%3C%26'a+OsStr%3E-for-%26'a+str) - [`String::leak`](https://doc.rust-lang.org/nightly/alloc/string/struct.String.html#method.leak) These APIs are now stable in const contexts: - [`CStr::from_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_bytes_with_nul`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) - [`CStr::to_str`](https://doc.rust-lang.org/nightly/std/ffi/struct.CStr.html#method.from_bytes_with_nul) Cargo ----- - Enable `-Zdoctest-in-workspace` by default. When running each documentation test, the working directory is set to the root directory of the package the test belongs to. [docs](https://doc.rust-lang.org/nightly/cargo/commands/cargo-test.html#working-directory-of-tests) [openwrt#12221](rust-lang/cargo#12221) [openwrt#12288](rust-lang/cargo#12288) - Add support of the "default" keyword to reset previously set `build.jobs` parallelism back to the default. [openwrt#12222](rust-lang/cargo#12222) Compatibility Notes ------------------- - [Alter `Display` for `Ipv6Addr` for IPv4-compatible addresses](rust-lang/rust#112606) - Cargo changed feature name validation check to a hard error. The warning was added in Rust 1.49. These extended characters aren't allowed on crates.io, so this should only impact users of other registries, or people who don't publish to a registry. [openwrt#12291](rust-lang/cargo#12291) Refreshed patches. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This stabilizes and enables the
-Z doctest-in-workspace
flag by default.Also adds another testcase to make sure that the
include!()
andfile!()
macros interact well together.fixes #9427
fixes rust-lang/rust#46372