diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-03-05 22:10:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-05 22:10:02 +0100 |
| commit | b08837f180697b1441d1b9bc374a044d573b83ca (patch) | |
| tree | 3bf9b6e2f7467dd6f571d3306fac22127d54223d /compiler/rustc_codegen_cranelift/src | |
| parent | 076043346d7ae779623b3d703c32bb391188d235 (diff) | |
| parent | f391c0793b443d30ef8c4d4228550439d4dbfead (diff) | |
| download | rust-b08837f180697b1441d1b9bc374a044d573b83ca.tar.gz rust-b08837f180697b1441d1b9bc374a044d573b83ca.zip | |
Rollup merge of #122018 - RalfJung:box-custom-alloc, r=oli-obk
only set noalias on Box with the global allocator As discovered in https://github.com/rust-lang/miri/issues/3341, `noalias` and custom allocators don't go well together. rustc can now check whether a Box uses the global allocator. This replaces the previous ad-hoc and rather unprincipled check for a zero-sized allocator. This is the rustc part of fixing that; Miri will also need a patch.
Diffstat (limited to 'compiler/rustc_codegen_cranelift/src')
| -rw-r--r-- | compiler/rustc_codegen_cranelift/src/unsize.rs | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/compiler/rustc_codegen_cranelift/src/unsize.rs b/compiler/rustc_codegen_cranelift/src/unsize.rs index acfa461a6f3..7b61dc64cb1 100644 --- a/compiler/rustc_codegen_cranelift/src/unsize.rs +++ b/compiler/rustc_codegen_cranelift/src/unsize.rs @@ -74,10 +74,6 @@ fn unsize_ptr<'tcx>( | (&ty::RawPtr(ty::TypeAndMut { ty: a, .. }), &ty::RawPtr(ty::TypeAndMut { ty: b, .. })) => { (src, unsized_info(fx, *a, *b, old_info)) } - (&ty::Adt(def_a, _), &ty::Adt(def_b, _)) if def_a.is_box() && def_b.is_box() => { - let (a, b) = (src_layout.ty.boxed_ty(), dst_layout.ty.boxed_ty()); - (src, unsized_info(fx, a, b, old_info)) - } (&ty::Adt(def_a, _), &ty::Adt(def_b, _)) => { assert_eq!(def_a, def_b); |
