mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-17 01:13:11 +00:00
implement debug in similar way to RangeInclusive
This commit is contained in:
parent
e8e6d9bd86
commit
d230b92ba7
@ -688,7 +688,7 @@ impl Primitive {
|
||||
///
|
||||
/// This is intended specifically to mirror LLVM’s `!range` metadata,
|
||||
/// semantics.
|
||||
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
|
||||
#[derive(Clone, PartialEq, Eq, Hash)]
|
||||
#[derive(HashStable_Generic)]
|
||||
pub struct WrappingRange {
|
||||
pub start: u128,
|
||||
@ -714,6 +714,13 @@ impl WrappingRange {
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for WrappingRange {
|
||||
fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(fmt, "{}..={}", self.start, self.end)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
/// Information about one scalar component of a Rust type.
|
||||
#[derive(Clone, PartialEq, Eq, Hash, Debug)]
|
||||
#[derive(HashStable_Generic)]
|
||||
|
@ -52,7 +52,7 @@ error[E0080]: it is undefined behavior to use this value
|
||||
--> $DIR/ub-nonnull.rs:41:1
|
||||
|
|
||||
LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 42, but expected something in the range AllocationRange { start: 10, end: 30 }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 42, but expected something in the range 10..=30
|
||||
|
|
||||
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
|
||||
= note: the raw bytes of the constant (size: 4, align: 4) {
|
||||
|
@ -52,7 +52,7 @@ error[E0080]: it is undefined behavior to use this value
|
||||
--> $DIR/ub-nonnull.rs:41:1
|
||||
|
|
||||
LL | const BAD_RANGE1: RestrictedRange1 = unsafe { RestrictedRange1(42) };
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 42, but expected something in the range AllocationRange { start: 10, end: 30 }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type validation failed: encountered 42, but expected something in the range 10..=30
|
||||
|
|
||||
= note: The rules on what exactly is undefined behavior aren't clear, so this check might be overzealous. Please open an issue on the rustc repository if you believe it should not be considered undefined behavior.
|
||||
= note: the raw bytes of the constant (size: 4, align: 4) {
|
||||
|
@ -15,10 +15,7 @@ error: layout_of(E) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -94,10 +91,7 @@ error: layout_of(E) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -144,20 +138,14 @@ error: layout_of(S) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 4294967295,
|
||||
},
|
||||
valid_range: 0..=4294967295,
|
||||
},
|
||||
Scalar {
|
||||
value: Int(
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 4294967295,
|
||||
},
|
||||
valid_range: 0..=4294967295,
|
||||
},
|
||||
),
|
||||
largest_niche: None,
|
||||
@ -219,10 +207,7 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 1,
|
||||
},
|
||||
valid_range: 0..=1,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -291,20 +276,14 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 1,
|
||||
},
|
||||
valid_range: 0..=1,
|
||||
},
|
||||
Scalar {
|
||||
value: Int(
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 4294967295,
|
||||
},
|
||||
valid_range: 0..=4294967295,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -317,10 +296,7 @@ error: layout_of(std::result::Result<i32, i32>) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 1,
|
||||
},
|
||||
valid_range: 0..=1,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -350,10 +326,7 @@ error: layout_of(i32) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 4294967295,
|
||||
},
|
||||
valid_range: 0..=4294967295,
|
||||
},
|
||||
),
|
||||
largest_niche: None,
|
||||
|
@ -15,10 +15,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -55,10 +52,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -71,10 +65,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -112,10 +103,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -152,10 +140,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -168,10 +153,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -209,10 +191,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -249,10 +228,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -265,10 +241,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -306,10 +279,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -346,10 +316,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -362,10 +329,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -403,10 +367,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -443,10 +404,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -459,10 +417,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
},
|
||||
),
|
||||
|
@ -15,10 +15,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -55,10 +52,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -71,10 +65,7 @@ error: layout_of(A) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
valid_range: 0..=0,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -112,10 +103,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -152,10 +140,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -168,10 +153,7 @@ error: layout_of(B) = Layout {
|
||||
I8,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 255,
|
||||
end: 255,
|
||||
},
|
||||
valid_range: 255..=255,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -209,10 +191,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -249,10 +228,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -265,10 +241,7 @@ error: layout_of(C) = Layout {
|
||||
I16,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 256,
|
||||
end: 256,
|
||||
},
|
||||
valid_range: 256..=256,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -306,10 +279,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -346,10 +316,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -362,10 +329,7 @@ error: layout_of(P) = Layout {
|
||||
I32,
|
||||
false,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 268435456,
|
||||
end: 268435456,
|
||||
},
|
||||
valid_range: 268435456..=268435456,
|
||||
},
|
||||
},
|
||||
),
|
||||
@ -403,10 +367,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
tag_encoding: Direct,
|
||||
tag_field: 0,
|
||||
@ -443,10 +404,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
),
|
||||
largest_niche: Some(
|
||||
@ -459,10 +417,7 @@ error: layout_of(T) = Layout {
|
||||
I32,
|
||||
true,
|
||||
),
|
||||
valid_range: AllocationRange {
|
||||
start: 2164260864,
|
||||
end: 2164260864,
|
||||
},
|
||||
valid_range: 2164260864..=2164260864,
|
||||
},
|
||||
},
|
||||
),
|
||||
|
Loading…
Reference in New Issue
Block a user