1
Fork 0

Inline GenericArg conversion functions

This commit is contained in:
Tomasz Miąsko 2022-02-10 00:00:00 +00:00
parent cd37638c14
commit d04677750b

View file

@ -48,6 +48,7 @@ pub enum GenericArgKind<'tcx> {
} }
impl<'tcx> GenericArgKind<'tcx> { impl<'tcx> GenericArgKind<'tcx> {
#[inline]
fn pack(self) -> GenericArg<'tcx> { fn pack(self) -> GenericArg<'tcx> {
let (tag, ptr) = match self { let (tag, ptr) = match self {
GenericArgKind::Lifetime(lt) => { GenericArgKind::Lifetime(lt) => {
@ -94,18 +95,21 @@ impl<'tcx> PartialOrd for GenericArg<'tcx> {
} }
impl<'tcx> From<ty::Region<'tcx>> for GenericArg<'tcx> { impl<'tcx> From<ty::Region<'tcx>> for GenericArg<'tcx> {
#[inline]
fn from(r: ty::Region<'tcx>) -> GenericArg<'tcx> { fn from(r: ty::Region<'tcx>) -> GenericArg<'tcx> {
GenericArgKind::Lifetime(r).pack() GenericArgKind::Lifetime(r).pack()
} }
} }
impl<'tcx> From<Ty<'tcx>> for GenericArg<'tcx> { impl<'tcx> From<Ty<'tcx>> for GenericArg<'tcx> {
#[inline]
fn from(ty: Ty<'tcx>) -> GenericArg<'tcx> { fn from(ty: Ty<'tcx>) -> GenericArg<'tcx> {
GenericArgKind::Type(ty).pack() GenericArgKind::Type(ty).pack()
} }
} }
impl<'tcx> From<ty::Const<'tcx>> for GenericArg<'tcx> { impl<'tcx> From<ty::Const<'tcx>> for GenericArg<'tcx> {
#[inline]
fn from(c: ty::Const<'tcx>) -> GenericArg<'tcx> { fn from(c: ty::Const<'tcx>) -> GenericArg<'tcx> {
GenericArgKind::Const(c).pack() GenericArgKind::Const(c).pack()
} }