Trait rustc_middle::ty::layout::IntegerExt
source · pub trait IntegerExt {
fn to_ty<'tcx>(&self, tcx: TyCtxt<'tcx>, signed: bool) -> Ty<'tcx>;
fn from_attr<C: HasDataLayout>(cx: &C, ity: IntType) -> Integer;
fn from_int_ty<C: HasDataLayout>(cx: &C, ity: IntTy) -> Integer;
fn from_uint_ty<C: HasDataLayout>(cx: &C, uty: UintTy) -> Integer;
fn repr_discr<'tcx>(
tcx: TyCtxt<'tcx>,
ty: Ty<'tcx>,
repr: &ReprOptions,
min: i128,
max: i128
) -> (Integer, bool);
}
Required Methods
source
fn from_int_ty<C: HasDataLayout>(cx: &C, ity: IntTy) -> Integer
source
fn from_uint_ty<C: HasDataLayout>(cx: &C, uty: UintTy) -> Integer
sourcefn repr_discr<'tcx>(
fn repr_discr<'tcx>(
tcx: TyCtxt<'tcx>,
ty: Ty<'tcx>,
repr: &ReprOptions,
min: i128,
max: i128
) -> (Integer, bool)
Implementations on Foreign Types
sourceimpl IntegerExt for Integer
impl IntegerExt for Integer
sourcefn from_attr<C: HasDataLayout>(cx: &C, ity: IntType) -> Integer
fn from_attr<C: HasDataLayout>(cx: &C, ity: IntType) -> Integer
Gets the Integer type from an attr::IntType.
sourcefn repr_discr<'tcx>(
tcx: TyCtxt<'tcx>,
ty: Ty<'tcx>,
repr: &ReprOptions,
min: i128,
max: i128
) -> (Integer, bool)
fn repr_discr<'tcx>(
tcx: TyCtxt<'tcx>,
ty: Ty<'tcx>,
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.