Auto merge of #135978 - matthiaskrgr:rollup-ni16gqr, r=matthiaskrgr
Rollup of 8 pull requests Successful merges: - #133605 (Add extensive set of drop order tests) - #135489 (remove pointless allowed_through_unstable_modules on TryFromSliceError) - #135757 (Add NuttX support for AArch64 and ARMv7-A targets) - #135799 (rustdoc-json: Rename `Path::name` to `path`, and give it the path again.) - #135865 (For E0223, suggest associated functions that are similar to the path, even if the base type has multiple inherent impl blocks.) - #135890 (Implement `VecDeque::pop_front_if` & `VecDeque::pop_back_if`) - #135914 (Remove usages of `QueryNormalizer` in the compiler) - #135936 (fix reify-intrinsic test) r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
061ee95ce1
41 changed files with 2317 additions and 173 deletions
|
|
@ -34,7 +34,8 @@ Previously, due to a [rustc bug], stable items inside unstable modules were
|
|||
available to stable code in that location.
|
||||
As of <!-- date-check --> September 2024, items with [accidentally stabilized
|
||||
paths] are marked with the `#[rustc_allowed_through_unstable_modules]` attribute
|
||||
to prevent code dependent on those paths from breaking.
|
||||
to prevent code dependent on those paths from breaking. Do *not* add this attribute
|
||||
to any more items unless that is needed to avoid breaking changes.
|
||||
|
||||
The `unstable` attribute may also have the `soft` value, which makes it a
|
||||
future-incompatible deny-by-default lint instead of a hard error. This is used
|
||||
|
|
|
|||
|
|
@ -260,6 +260,7 @@ target | std | host | notes
|
|||
[`aarch64-unknown-netbsd`](platform-support/netbsd.md) | ✓ | ✓ | ARM64 NetBSD
|
||||
[`aarch64-unknown-nto-qnx700`](platform-support/nto-qnx.md) | ? | | ARM64 QNX Neutrino 7.0 RTOS |
|
||||
[`aarch64-unknown-nto-qnx710`](platform-support/nto-qnx.md) | ✓ | | ARM64 QNX Neutrino 7.1 RTOS |
|
||||
[`aarch64-unknown-nuttx`](platform-support/nuttx.md) | * | | ARM64 with NuttX
|
||||
[`aarch64-unknown-openbsd`](platform-support/openbsd.md) | ✓ | ✓ | ARM64 OpenBSD
|
||||
[`aarch64-unknown-redox`](platform-support/redox.md) | ✓ | | ARM64 Redox OS
|
||||
[`aarch64-unknown-teeos`](platform-support/aarch64-unknown-teeos.md) | ? | | ARM64 TEEOS |
|
||||
|
|
@ -295,6 +296,8 @@ target | std | host | notes
|
|||
[`armv7k-apple-watchos`](platform-support/apple-watchos.md) | ✓ | | Armv7-A Apple WatchOS
|
||||
[`armv7s-apple-ios`](platform-support/apple-ios.md) | ✓ | | Armv7-A Apple-A6 Apple iOS
|
||||
[`armv8r-none-eabihf`](platform-support/armv8r-none-eabihf.md) | * | | Bare Armv8-R, hardfloat
|
||||
[`armv7a-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX
|
||||
[`armv7a-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX, hardfloat
|
||||
`avr-unknown-gnu-atmega328` | * | | AVR. Requires `-Z build-std=core`
|
||||
`bpfeb-unknown-none` | * | | BPF (big endian)
|
||||
`bpfel-unknown-none` | * | | BPF (little endian)
|
||||
|
|
@ -389,6 +392,8 @@ target | std | host | notes
|
|||
[`thumbv6m-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv6M with NuttX
|
||||
`thumbv7a-pc-windows-msvc` | | |
|
||||
[`thumbv7a-uwp-windows-msvc`](platform-support/uwp-windows-msvc.md) | | |
|
||||
[`thumbv7a-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX
|
||||
[`thumbv7a-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7-A with NuttX, hardfloat
|
||||
[`thumbv7em-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7EM with NuttX
|
||||
[`thumbv7em-nuttx-eabihf`](platform-support/nuttx.md) | * | | ARMv7EM with NuttX, hardfloat
|
||||
[`thumbv7m-nuttx-eabi`](platform-support/nuttx.md) | * | | ARMv7M with NuttX
|
||||
|
|
|
|||
|
|
@ -20,8 +20,13 @@ The target name follow this format: `ARCH[-VENDOR]-nuttx-ABI`, where `ARCH` is t
|
|||
|
||||
The following target names are defined:
|
||||
|
||||
- `thumbv6m-nuttx-eal`
|
||||
- `thumbv7m-nuttx-eal`
|
||||
- `aarch64-unknown-nuttx`
|
||||
- `armv7a-nuttx-eabi`
|
||||
- `armv7a-nuttx-eabihf`
|
||||
- `thumbv6m-nuttx-eabi`
|
||||
- `thumbv7a-nuttx-eabi`
|
||||
- `thumbv7a-nuttx-eabihf`
|
||||
- `thumbv7m-nuttx-eabi`
|
||||
- `thumbv7em-nuttx-eabi`
|
||||
- `thumbv7em-nuttx-eabihf`
|
||||
- `thumbv8m.base-nuttx-eabi`
|
||||
|
|
|
|||
|
|
@ -622,7 +622,7 @@ impl FromClean<clean::Type> for Type {
|
|||
impl FromClean<clean::Path> for Path {
|
||||
fn from_clean(path: clean::Path, renderer: &JsonRenderer<'_>) -> Path {
|
||||
Path {
|
||||
name: path.last_opt().map_or(String::from(""), |s| String::from(s.as_str())),
|
||||
path: path.whole_name(),
|
||||
id: renderer.id_from_item_default(path.def_id().into()),
|
||||
args: path.segments.last().map(|args| Box::new(args.clone().args.into_json(renderer))),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ pub type FxHashMap<K, V> = HashMap<K, V>; // re-export for use in src/librustdoc
|
|||
/// This integer is incremented with every breaking change to the API,
|
||||
/// and is returned along with the JSON blob as [`Crate::format_version`].
|
||||
/// Consuming code should assert that this value matches the format version(s) that it supports.
|
||||
pub const FORMAT_VERSION: u32 = 38;
|
||||
pub const FORMAT_VERSION: u32 = 39;
|
||||
|
||||
/// The root of the emitted JSON blob.
|
||||
///
|
||||
|
|
@ -1036,16 +1036,20 @@ pub enum Type {
|
|||
/// A type that has a simple path to it. This is the kind of type of structs, unions, enums, etc.
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
pub struct Path {
|
||||
/// The name of the type as declared, e.g. in
|
||||
/// The path of the type.
|
||||
///
|
||||
/// This will be the path that is *used* (not where it is defined), so
|
||||
/// multiple `Path`s may have different values for this field even if
|
||||
/// they all refer to the same item. e.g.
|
||||
///
|
||||
/// ```rust
|
||||
/// mod foo {
|
||||
/// struct Bar;
|
||||
/// }
|
||||
/// pub type Vec1 = std::vec::Vec<i32>; // path: "std::vec::Vec"
|
||||
/// pub type Vec2 = Vec<i32>; // path: "Vec"
|
||||
/// pub type Vec3 = std::prelude::v1::Vec<i32>; // path: "std::prelude::v1::Vec"
|
||||
/// ```
|
||||
///
|
||||
/// for `foo::Bar`, this field will be `Bar`.
|
||||
pub name: String,
|
||||
//
|
||||
// Example tested in ./tests/rustdoc-json/path_name.rs
|
||||
pub path: String,
|
||||
/// The ID of the type.
|
||||
pub id: Id,
|
||||
/// Generic arguments to the type.
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ fn errors_on_missing_path() {
|
|||
sig: FunctionSignature {
|
||||
inputs: vec![],
|
||||
output: Some(Type::ResolvedPath(Path {
|
||||
name: "Bar".to_owned(),
|
||||
path: "Bar".to_owned(),
|
||||
id: Id(1),
|
||||
args: None,
|
||||
})),
|
||||
|
|
@ -191,7 +191,7 @@ fn errors_on_missing_path() {
|
|||
|
||||
check(&krate, &[Error {
|
||||
kind: ErrorKind::Custom(
|
||||
r#"No entry in '$.paths' for Path { name: "Bar", id: Id(1), args: None }"#.to_owned(),
|
||||
r#"No entry in '$.paths' for Path { path: "Bar", id: Id(1), args: None }"#.to_owned(),
|
||||
),
|
||||
id: Id(1),
|
||||
}]);
|
||||
|
|
|
|||
|
|
@ -3857,7 +3857,6 @@ ui/suggestions/issue-106443-sugg-clone-for-arg.rs
|
|||
ui/suggestions/issue-106443-sugg-clone-for-bound.rs
|
||||
ui/suggestions/issue-107860.rs
|
||||
ui/suggestions/issue-108470.rs
|
||||
ui/suggestions/issue-109195.rs
|
||||
ui/suggestions/issue-109291.rs
|
||||
ui/suggestions/issue-109396.rs
|
||||
ui/suggestions/issue-109436.rs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue