Auto merge of #95576 - DrMeepster:box_erasure, r=oli-obk
Remove dereferencing of Box from codegen Through #94043, #94414, #94873, and #95328, I've been fixing issues caused by Box being treated like a pointer when it is not a pointer. However, these PRs just introduced special cases for Box. This PR removes those special cases and instead transforms a deref of Box into a deref of the pointer it contains. Hopefully, this is the end of the Box<T, A> ICEs.
This commit is contained in:
commit
a25b1315ee
18 changed files with 477 additions and 162 deletions
|
@ -340,6 +340,12 @@ impl<T: Idx> BitRelations<BitSet<T>> for BitSet<T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<T: Idx> From<GrowableBitSet<T>> for BitSet<T> {
|
||||
fn from(bit_set: GrowableBitSet<T>) -> Self {
|
||||
bit_set.bit_set
|
||||
}
|
||||
}
|
||||
|
||||
/// A fixed-size bitset type with a partially dense, partially sparse
|
||||
/// representation. The bitset is broken into chunks, and chunks that are all
|
||||
/// zeros or all ones are represented and handled very efficiently.
|
||||
|
@ -1542,6 +1548,12 @@ impl<T: Idx> GrowableBitSet<T> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<T: Idx> From<BitSet<T>> for GrowableBitSet<T> {
|
||||
fn from(bit_set: BitSet<T>) -> Self {
|
||||
Self { bit_set }
|
||||
}
|
||||
}
|
||||
|
||||
/// A fixed-size 2D bit matrix type with a dense representation.
|
||||
///
|
||||
/// `R` and `C` are index types used to identify rows and columns respectively;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue