Trait IntegerExt
pub trait IntegerExt {
// Required methods
fn to_ty<'db>(&self, interner: DbInterner<'db>, signed: bool) -> Ty<'db>;
fn from_int_ty<C>(cx: &C, ity: IntTy) -> Integer
where C: HasDataLayout;
fn from_uint_ty<C>(cx: &C, ity: UintTy) -> Integer
where C: HasDataLayout;
fn repr_discr<'db>(
interner: DbInterner<'db>,
ty: Ty<'db>,
repr: &ReprOptions,
min: i128,
max: i128,
) -> (Integer, bool);
}
Required Methods§
fn to_ty<'db>(&self, interner: DbInterner<'db>, signed: bool) -> Ty<'db>
fn from_int_ty<C>(cx: &C, ity: IntTy) -> Integerwhere
C: HasDataLayout,
fn from_uint_ty<C>(cx: &C, ity: UintTy) -> Integerwhere
C: HasDataLayout,
fn repr_discr<'db>( interner: DbInterner<'db>, ty: Ty<'db>, repr: &ReprOptions, min: i128, max: i128, ) -> (Integer, bool)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
§impl IntegerExt for Integer
impl IntegerExt for Integer
§fn repr_discr<'db>(
interner: DbInterner<'db>,
ty: Ty<'db>,
repr: &ReprOptions,
min: i128,
max: i128,
) -> (Integer, bool)
fn repr_discr<'db>( interner: DbInterner<'db>, ty: Ty<'db>, repr: &ReprOptions, min: i128, max: i128, ) -> (Integer, bool)
Finds the appropriate Integer type and signedness for the given
signed discriminant range and #[repr]
attribute.
N.B.: u128
values above i128::MAX
will be treated as signed, but
that shouldn’t affect anything, other than maybe debuginfo.