Skip to content

Commit d847482

Browse files
authored
Rollup merge of rust-lang#65859 - iwikal:pretty-const-pointers, r=cramertj
Better pretty printing for const raw pointers closes rust-lang#65349, hopefully.
2 parents 0dea014 + 6a6ed12 commit d847482

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/librustc/ty/print/pretty.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,10 @@ pub trait PrettyPrinter<'tcx>:
919919
},
920920
(ConstValue::Scalar(Scalar::Raw { data, .. }), ty::Char) =>
921921
p!(write("{:?}", ::std::char::from_u32(data as u32).unwrap())),
922-
(ConstValue::Scalar(_), ty::RawPtr(_)) => p!(write("{{pointer}}")),
922+
(ConstValue::Scalar(Scalar::Raw { data, size }), ty::RawPtr(_)) => {
923+
p!(write("0x{:01$x} : ", data, size as usize * 2));
924+
p!(print(ct.ty));
925+
}
923926
(ConstValue::Scalar(Scalar::Ptr(ptr)), ty::FnPtr(_)) => {
924927
let instance = {
925928
let alloc_map = self.tcx().alloc_map.lock();

src/test/ui/const-generics/raw-ptr-const-param.stderr

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ error[E0308]: mismatched types
1010
--> $DIR/raw-ptr-const-param.rs:7:38
1111
|
1212
LL | let _: Const<{15 as *const _}> = Const::<{10 as *const _}>;
13-
| ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `{pointer}`, found `{pointer}`
13+
| ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `0x000000000000000f : *const u32`, found `0x000000000000000a : *const u32`
1414
|
15-
= note: expected type `Const<{pointer}>`
16-
found type `Const<{pointer}>`
15+
= note: expected type `Const<0x000000000000000f : *const u32>`
16+
found type `Const<0x000000000000000a : *const u32>`
1717

1818
error: aborting due to previous error
1919

0 commit comments

Comments
 (0)