diff --git a/src/etc/natvis/libcore.natvis b/src/etc/natvis/libcore.natvis
index f8569ef2594b4..5e0c21a13a9fe 100644
--- a/src/etc/natvis/libcore.natvis
+++ b/src/etc/natvis/libcore.natvis
@@ -41,40 +41,7 @@
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
- {__0}
-
-
+
{__0}
diff --git a/tests/debuginfo/msvc-pretty-enums.rs b/tests/debuginfo/msvc-pretty-enums.rs
index d66e4c660f7b5..400e8801ca217 100644
--- a/tests/debuginfo/msvc-pretty-enums.rs
+++ b/tests/debuginfo/msvc-pretty-enums.rs
@@ -46,12 +46,12 @@
// cdb-check: [+0x000] __0 : 0x2a [Type: unsigned int]
// cdb-command: dx niche128_some
-// cdb-check: niche128_some : Some [Type: enum2$ >]
+// cdb-check: niche128_some : Some [Type: enum2$ > >]
// Note: we can't actually read the value of the field because CDB cannot handle 128 bit integers.
-// cdb-check: [+0x000] __0 [...] [Type: core::num::nonzero::NonZeroI128]
+// cdb-check: [+0x000] __0 [...] [Type: core::num::nonzero::NonZero]
// cdb-command: dx niche128_none
-// cdb-check: niche128_none : None [Type: enum2$ >]
+// cdb-check: niche128_none : None [Type: enum2$ > >]
// cdb-command: dx wrapping_niche128_untagged
// cdb-check: wrapping_niche128_untagged : X [Type: enum2$]
@@ -84,7 +84,7 @@
// cdb-command: dx niche_w_fields_2_some,d
// cdb-check: niche_w_fields_2_some,d : A [Type: enum2$]
-// cdb-check: [+0x[...]] __0 : 800 [Type: core::num::nonzero::NonZeroU32]
+// cdb-check: [+0x[...]] __0 : 800 [Type: core::num::nonzero::NonZero]
// cdb-check: [+0x[...]] __1 : 900 [Type: unsigned __int64]
// cdb-command: dx niche_w_fields_2_none,d
diff --git a/tests/debuginfo/numeric-types.rs b/tests/debuginfo/numeric-types.rs
index c122112e6c77a..a1b5ae792a16b 100644
--- a/tests/debuginfo/numeric-types.rs
+++ b/tests/debuginfo/numeric-types.rs
@@ -3,59 +3,59 @@
// min-gdb-version: 8.1
// ignore-windows-gnu // emit_debug_gdb_scripts is disabled on Windows
-// Tests the visualizations for `NonZero{I,U}{8,16,32,64,128,size}`, `Wrapping` and
+// Tests the visualizations for `NonZero`, `Wrapping` and
// `Atomic{Bool,I8,I16,I32,I64,Isize,U8,U16,U32,U64,Usize}` located in `libcore.natvis`.
// === CDB TESTS ==================================================================================
// cdb-command: g
// cdb-command: dx nz_i8
-// cdb-check:nz_i8 : 11 [Type: core::num::nonzero::NonZeroI8]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroI8]
+// cdb-check:nz_i8 : 11 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_i16
-// cdb-check:nz_i16 : 22 [Type: core::num::nonzero::NonZeroI16]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroI16]
+// cdb-check:nz_i16 : 22 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_i32
-// cdb-check:nz_i32 : 33 [Type: core::num::nonzero::NonZeroI32]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroI32]
+// cdb-check:nz_i32 : 33 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_i64
-// cdb-check:nz_i64 : 44 [Type: core::num::nonzero::NonZeroI64]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroI64]
+// cdb-check:nz_i64 : 44 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// 128-bit integers don't seem to work in CDB
// cdb-command: dx nz_i128
-// cdb-check: [] [Type: core::num::nonzero::NonZeroI128]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_isize
-// cdb-check:nz_isize : 66 [Type: core::num::nonzero::NonZeroIsize]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroIsize]
+// cdb-check:nz_isize : 66 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_u8
-// cdb-check:nz_u8 : 0x4d [Type: core::num::nonzero::NonZeroU8]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroU8]
+// cdb-check:nz_u8 : 0x4d [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_u16
-// cdb-check:nz_u16 : 0x58 [Type: core::num::nonzero::NonZeroU16]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroU16]
+// cdb-check:nz_u16 : 0x58 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_u32
-// cdb-check:nz_u32 : 0x63 [Type: core::num::nonzero::NonZeroU32]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroU32]
+// cdb-check:nz_u32 : 0x63 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_u64
-// cdb-check:nz_u64 : 0x64 [Type: core::num::nonzero::NonZeroU64]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroU64]
+// cdb-check:nz_u64 : 0x64 [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// 128-bit integers don't seem to work in CDB
// cdb-command: dx nz_u128
-// cdb-check: [] [Type: core::num::nonzero::NonZeroU128]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx nz_usize
-// cdb-check:nz_usize : 0x7a [Type: core::num::nonzero::NonZeroUsize]
-// cdb-check: [] [Type: core::num::nonzero::NonZeroUsize]
+// cdb-check:nz_usize : 0x7a [Type: core::num::nonzero::NonZero]
+// cdb-check: [] [Type: core::num::nonzero::NonZero]
// cdb-command: dx w_i8
// cdb-check:w_i8 : 10 [Type: core::num::wrapping::Wrapping]
diff --git a/tests/mir-opt/instsimplify/combine_transmutes.adt_transmutes.InstSimplify.diff b/tests/mir-opt/instsimplify/combine_transmutes.adt_transmutes.InstSimplify.diff
index cb623e83f5298..be7f9cd441210 100644
--- a/tests/mir-opt/instsimplify/combine_transmutes.adt_transmutes.InstSimplify.diff
+++ b/tests/mir-opt/instsimplify/combine_transmutes.adt_transmutes.InstSimplify.diff
@@ -4,7 +4,7 @@
fn adt_transmutes() -> () {
let mut _0: ();
let _1: u8;
- let mut _2: std::option::Option;
+ let mut _2: std::option::Option>;
let mut _4: std::num::Wrapping;
let mut _6: std::num::Wrapping;
let mut _8: Union32;
@@ -37,7 +37,7 @@
bb0: {
StorageLive(_1);
StorageLive(_2);
- _2 = Option::::Some(const _);
+ _2 = Option::>::Some(const _);
_1 = move _2 as u8 (Transmute);
StorageDead(_2);
StorageLive(_3);
diff --git a/tests/ui/layout/zero-sized-array-enum-niche.stderr b/tests/ui/layout/zero-sized-array-enum-niche.stderr
index 8161f97dde06c..0ed743818c573 100644
--- a/tests/ui/layout/zero-sized-array-enum-niche.stderr
+++ b/tests/ui/layout/zero-sized-array-enum-niche.stderr
@@ -232,7 +232,7 @@ error: layout_of(MultipleAlignments) = Layout {
LL | enum MultipleAlignments {
| ^^^^^^^^^^^^^^^^^^^^^^^
-error: layout_of(Result<[u32; 0], Packed>) = Layout {
+error: layout_of(Result<[u32; 0], Packed>>) = Layout {
size: Size(4 bytes),
align: AbiAndPrefAlign {
abi: Align(4 bytes),
diff --git a/tests/ui/lint/clashing-extern-fn.rs b/tests/ui/lint/clashing-extern-fn.rs
index 09fda33dbec5c..9740742fbbb0f 100644
--- a/tests/ui/lint/clashing-extern-fn.rs
+++ b/tests/ui/lint/clashing-extern-fn.rs
@@ -436,7 +436,7 @@ mod hidden_niche {
fn hidden_niche_unsafe_cell() -> Option>;
//~^ WARN redeclared with a different signature
- //~| WARN block uses type `Option>`, which is not FFI-safe
+ //~| WARN block uses type `Option>>`, which is not FFI-safe
}
}
}
diff --git a/tests/ui/lint/clashing-extern-fn.stderr b/tests/ui/lint/clashing-extern-fn.stderr
index 0d269e599dd1a..5b9244b699311 100644
--- a/tests/ui/lint/clashing-extern-fn.stderr
+++ b/tests/ui/lint/clashing-extern-fn.stderr
@@ -8,7 +8,7 @@ LL | fn hidden_niche_transparent_no_niche() -> Option>`, which is not FFI-safe
+warning: `extern` block uses type `Option>>`, which is not FFI-safe
--> $DIR/clashing-extern-fn.rs:437:46
|
LL | fn hidden_niche_unsafe_cell() -> Option>;
@@ -163,7 +163,7 @@ LL | fn non_zero_usize() -> core::num::NonZeroUsize;
LL | fn non_zero_usize() -> usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this signature doesn't match the previous declaration
|
- = note: expected `unsafe extern "C" fn() -> NonZeroUsize`
+ = note: expected `unsafe extern "C" fn() -> NonZero`
found `unsafe extern "C" fn() -> usize`
warning: `non_null_ptr` redeclared with a different signature
@@ -224,7 +224,7 @@ LL | fn hidden_niche_unsafe_cell() -> Option usize`
- found `unsafe extern "C" fn() -> Option>`
+ found `unsafe extern "C" fn() -> Option>>`
warning: 19 warnings emitted
diff --git a/tests/ui/lint/invalid_value.stderr b/tests/ui/lint/invalid_value.stderr
index 57531b0968f1e..bdf47343114c6 100644
--- a/tests/ui/lint/invalid_value.stderr
+++ b/tests/ui/lint/invalid_value.stderr
@@ -316,7 +316,7 @@ LL | let _val: NonNull = mem::uninitialized();
= note: `std::ptr::NonNull` must be non-null
= note: raw pointers must be initialized
-error: the type `(NonZeroU32, i32)` does not permit zero-initialization
+error: the type `(NonZero, i32)` does not permit zero-initialization
--> $DIR/invalid_value.rs:95:39
|
LL | let _val: (NonZeroU32, i32) = mem::zeroed();
@@ -325,9 +325,9 @@ LL | let _val: (NonZeroU32, i32) = mem::zeroed();
| this code causes undefined behavior when executed
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
- = note: `std::num::NonZeroU32` must be non-null
+ = note: `std::num::NonZero` must be non-null
-error: the type `(NonZeroU32, i32)` does not permit being left uninitialized
+error: the type `(NonZero, i32)` does not permit being left uninitialized
--> $DIR/invalid_value.rs:96:39
|
LL | let _val: (NonZeroU32, i32) = mem::uninitialized();
@@ -336,7 +336,7 @@ LL | let _val: (NonZeroU32, i32) = mem::uninitialized();
| this code causes undefined behavior when executed
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
- = note: `std::num::NonZeroU32` must be non-null
+ = note: `std::num::NonZero` must be non-null
= note: integers must be initialized
error: the type `*const dyn Send` does not permit zero-initialization
@@ -417,7 +417,7 @@ LL | let _val: OneFruitNonZero = mem::zeroed();
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
= note: `OneFruitNonZero` must be non-null
-note: because `std::num::NonZeroU32` must be non-null (in this field of the only potentially inhabited enum variant)
+note: because `std::num::NonZero` must be non-null (in this field of the only potentially inhabited enum variant)
--> $DIR/invalid_value.rs:39:12
|
LL | Banana(NonZeroU32),
@@ -433,7 +433,7 @@ LL | let _val: OneFruitNonZero = mem::uninitialized();
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
= note: `OneFruitNonZero` must be non-null
-note: because `std::num::NonZeroU32` must be non-null (in this field of the only potentially inhabited enum variant)
+note: because `std::num::NonZero` must be non-null (in this field of the only potentially inhabited enum variant)
--> $DIR/invalid_value.rs:39:12
|
LL | Banana(NonZeroU32),
@@ -603,7 +603,7 @@ LL | let _val: &'static [i32] = mem::transmute((0usize, 0usize));
|
= note: references must be non-null
-error: the type `NonZeroU32` does not permit zero-initialization
+error: the type `NonZero` does not permit zero-initialization
--> $DIR/invalid_value.rs:154:32
|
LL | let _val: NonZeroU32 = mem::transmute(0);
@@ -612,7 +612,7 @@ LL | let _val: NonZeroU32 = mem::transmute(0);
| this code causes undefined behavior when executed
| help: use `MaybeUninit` instead, and only call `assume_init` after initialization is done
|
- = note: `std::num::NonZeroU32` must be non-null
+ = note: `std::num::NonZero` must be non-null
error: the type `NonNull` does not permit zero-initialization
--> $DIR/invalid_value.rs:157:34
diff --git a/tests/ui/lint/lint-ctypes-enum.stderr b/tests/ui/lint/lint-ctypes-enum.stderr
index 8554e261778e7..64beefbb7579f 100644
--- a/tests/ui/lint/lint-ctypes-enum.stderr
+++ b/tests/ui/lint/lint-ctypes-enum.stderr
@@ -61,7 +61,7 @@ LL | fn nonzero_i128(x: Option);
|
= note: 128-bit integers don't currently have a known stable ABI
-error: `extern` block uses type `Option>`, which is not FFI-safe
+error: `extern` block uses type `Option>>`, which is not FFI-safe
--> $DIR/lint-ctypes-enum.rs:86:28
|
LL | fn transparent_union(x: Option>);
@@ -70,7 +70,7 @@ LL | fn transparent_union(x: Option>);
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
= note: enum has no representation hint
-error: `extern` block uses type `Option>`, which is not FFI-safe
+error: `extern` block uses type `Option>>`, which is not FFI-safe
--> $DIR/lint-ctypes-enum.rs:88:20
|
LL | fn repr_rust(x: Option>);
@@ -79,7 +79,7 @@ LL | fn repr_rust(x: Option>);
= help: consider adding a `#[repr(C)]`, `#[repr(transparent)]`, or integer `#[repr(...)]` attribute to this enum
= note: enum has no representation hint
-error: `extern` block uses type `Result<(), NonZeroI32>`, which is not FFI-safe
+error: `extern` block uses type `Result<(), NonZero>`, which is not FFI-safe
--> $DIR/lint-ctypes-enum.rs:89:20
|
LL | fn no_result(x: Result<(), num::NonZeroI32>);
diff --git a/tests/ui/mismatched_types/non_zero_assigned_something.stderr b/tests/ui/mismatched_types/non_zero_assigned_something.stderr
index 57db71f889cf7..f8e86905ab9bb 100644
--- a/tests/ui/mismatched_types/non_zero_assigned_something.stderr
+++ b/tests/ui/mismatched_types/non_zero_assigned_something.stderr
@@ -2,10 +2,12 @@ error[E0308]: mismatched types
--> $DIR/non_zero_assigned_something.rs:2:35
|
LL | let _: std::num::NonZeroU64 = 1;
- | -------------------- ^ expected `NonZeroU64`, found integer
+ | -------------------- ^ expected `NonZero`, found integer
| |
| expected due to this
|
+ = note: expected struct `NonZero`
+ found type `{integer}`
help: consider calling `NonZeroU64::new`
|
LL | let _: std::num::NonZeroU64 = NonZeroU64::new(1).unwrap();
@@ -15,11 +17,11 @@ error[E0308]: mismatched types
--> $DIR/non_zero_assigned_something.rs:6:43
|
LL | let _: Option = 1;
- | ---------------------------- ^ expected `Option`, found integer
+ | ---------------------------- ^ expected `Option>`, found integer
| |
| expected due to this
|
- = note: expected enum `Option`
+ = note: expected enum `Option>`
found type `{integer}`
help: consider calling `NonZeroU64::new`
|
diff --git a/tests/ui/numbers-arithmetic/not-suggest-float-literal.stderr b/tests/ui/numbers-arithmetic/not-suggest-float-literal.stderr
index e1825eb5b541d..be0fc0f98e24d 100644
--- a/tests/ui/numbers-arithmetic/not-suggest-float-literal.stderr
+++ b/tests/ui/numbers-arithmetic/not-suggest-float-literal.stderr
@@ -124,7 +124,7 @@ LL | x / 100.0
= help: the trait `Div<{float}>` is not implemented for `u8`
= help: the following other types implement trait `Div`:
- >
+ >>
>
<&'a u8 as Div>
<&u8 as Div<&u8>>
diff --git a/tests/ui/print_type_sizes/niche-filling.stdout b/tests/ui/print_type_sizes/niche-filling.stdout
index d1753c26ca83b..b53b893660321 100644
--- a/tests/ui/print_type_sizes/niche-filling.stdout
+++ b/tests/ui/print_type_sizes/niche-filling.stdout
@@ -14,17 +14,17 @@ print-type-size field `.pre`: 1 bytes
print-type-size field `.post`: 2 bytes
print-type-size field `.val`: 4 bytes
print-type-size variant `None`: 0 bytes
-print-type-size type: `MyOption>`: 8 bytes, alignment: 4 bytes
+print-type-size type: `MyOption>>`: 8 bytes, alignment: 4 bytes
print-type-size discriminant: 4 bytes
print-type-size variant `Some`: 4 bytes
print-type-size field `.0`: 4 bytes
print-type-size variant `None`: 0 bytes
-print-type-size type: `MyOption>`: 8 bytes, alignment: 4 bytes
+print-type-size type: `MyOption, std::num::NonZero>>`: 8 bytes, alignment: 4 bytes
print-type-size discriminant: 4 bytes
print-type-size variant `Some`: 4 bytes
print-type-size field `.0`: 4 bytes
print-type-size variant `None`: 0 bytes
-print-type-size type: `MyOption>`: 8 bytes, alignment: 4 bytes
+print-type-size type: `MyOption, u32>>`: 8 bytes, alignment: 4 bytes
print-type-size discriminant: 4 bytes
print-type-size variant `Some`: 4 bytes
print-type-size field `.0`: 4 bytes
@@ -53,22 +53,22 @@ print-type-size type: `MyOption`: 4 bytes, alignment: 4 bytes
print-type-size variant `Some`: 4 bytes
print-type-size field `.0`: 4 bytes
print-type-size variant `None`: 0 bytes
-print-type-size type: `MyOption`: 4 bytes, alignment: 4 bytes
+print-type-size type: `MyOption>`: 4 bytes, alignment: 4 bytes
print-type-size variant `Some`: 4 bytes
print-type-size field `.0`: 4 bytes
print-type-size variant `None`: 0 bytes
-print-type-size type: `Union1`: 4 bytes, alignment: 4 bytes
+print-type-size type: `Union1>`: 4 bytes, alignment: 4 bytes
print-type-size variant `Union1`: 4 bytes
print-type-size field `.a`: 4 bytes
-print-type-size type: `Union2`: 4 bytes, alignment: 4 bytes
+print-type-size type: `Union2, std::num::NonZero>`: 4 bytes, alignment: 4 bytes
print-type-size variant `Union2`: 4 bytes
print-type-size field `.a`: 4 bytes
print-type-size field `.b`: 4 bytes, offset: 0 bytes, alignment: 4 bytes
-print-type-size type: `Union2`: 4 bytes, alignment: 4 bytes
+print-type-size type: `Union2, u32>`: 4 bytes, alignment: 4 bytes
print-type-size variant `Union2`: 4 bytes
print-type-size field `.a`: 4 bytes
print-type-size field `.b`: 4 bytes, offset: 0 bytes, alignment: 4 bytes
-print-type-size type: `std::num::NonZeroU32`: 4 bytes, alignment: 4 bytes
+print-type-size type: `std::num::NonZero`: 4 bytes, alignment: 4 bytes
print-type-size field `.0`: 4 bytes
print-type-size type: `Enum4<(), (), (), MyOption>`: 2 bytes, alignment: 1 bytes
print-type-size variant `Four`: 2 bytes
diff --git a/tests/ui/traits/issue-77982.stderr b/tests/ui/traits/issue-77982.stderr
index b130b7620fc0d..bffad037fba05 100644
--- a/tests/ui/traits/issue-77982.stderr
+++ b/tests/ui/traits/issue-77982.stderr
@@ -46,7 +46,7 @@ LL | let ips: Vec<_> = (0..100_000).map(|_| u32::from(0u32.into())).collect(
= note: multiple `impl`s satisfying `u32: From<_>` found in the `core` crate:
- impl From for u32;
- impl From for u32;
- - impl From for u32;
+ - impl From> for u32;
- impl From for u32;
- impl From for u32;
- impl From for u32;
diff --git a/tests/ui/try-trait/bad-interconversion.stderr b/tests/ui/try-trait/bad-interconversion.stderr
index 4d046635d6442..7e5b68353fb2d 100644
--- a/tests/ui/try-trait/bad-interconversion.stderr
+++ b/tests/ui/try-trait/bad-interconversion.stderr
@@ -11,7 +11,7 @@ LL | Ok(Err(123_i32)?)
= note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
= help: the following other types implement trait `From`:
>
- >
+ >>
>
= note: required for `Result` to implement `FromResidual>`