1
Fork 0

Delete Rvalue::Len

Everything's moved to `PtrMetadata` instead.
This commit is contained in:
Scott McMurray 2024-12-13 17:43:16 -08:00
parent b22856d192
commit 5ba54c9e31
36 changed files with 50 additions and 271 deletions

View file

@ -1351,16 +1351,6 @@ pub enum Rvalue<'tcx> {
/// model.
RawPtr(Mutability, Place<'tcx>),
/// Yields the length of the place, as a `usize`.
///
/// If the type of the place is an array, this is the array length. For slices (`[T]`, not
/// `&[T]`) this accesses the place's metadata to determine the length. This rvalue is
/// ill-formed for places of other types.
///
/// This cannot be a `UnOp(PtrMetadata, _)` because that expects a value, and we only
/// have a place, and `UnOp(PtrMetadata, RawPtr(place))` is not a thing.
Len(Place<'tcx>),
/// Performs essentially all of the casts that can be performed via `as`.
///
/// This allows for casts from/to a variety of types.