We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 69d51b2 commit de4ab37Copy full SHA for de4ab37
tests/mir-opt/gvn_type_id_polymorphic.rs
@@ -6,7 +6,20 @@
6
fn generic<T>() {}
7
8
const fn type_id_of_val<T: 'static>(_: &T) -> u128 {
9
- std::intrinsics::type_id::<T>()
+ let name = std::intrinsics::type_name::<T>();
10
+ let len = name.len() as u64;
11
+ let len = u64::to_be_bytes(len);
12
+ let mut ret = [0; 16];
13
+ let mut i = 0;
14
+ while i < 8 {
15
+ ret[i] = len[i];
16
+ i += 1;
17
+ }
18
+ while i < 16 {
19
+ ret[i] = name.as_bytes()[i - 8];
20
21
22
+ u128::from_be_bytes(ret)
23
}
24
25
// EMIT_MIR gvn_type_id_polymorphic.cursed_is_i32.GVN.diff
0 commit comments