pub fn impl_for_type(tcx: TyCtxt<'_>, primitive: PrimitiveType) -> Option<DefId> {
use self::PrimitiveType::*;
+ let lang_items = tcx.lang_items();
match primitive {
- Isize => tcx.lang_items().isize_impl(),
- I8 => tcx.lang_items().i8_impl(),
- I16 => tcx.lang_items().i16_impl(),
- I32 => tcx.lang_items().i32_impl(),
- I64 => tcx.lang_items().i64_impl(),
- I128 => tcx.lang_items().i128_impl(),
- Usize => tcx.lang_items().usize_impl(),
- U8 => tcx.lang_items().u8_impl(),
- U16 => tcx.lang_items().u16_impl(),
- U32 => tcx.lang_items().u32_impl(),
- U64 => tcx.lang_items().u64_impl(),
- U128 => tcx.lang_items().u128_impl(),
- F32 => tcx.lang_items().f32_impl(),
- F64 => tcx.lang_items().f64_impl(),
- Char => tcx.lang_items().char_impl(),
- Bool => tcx.lang_items().bool_impl(),
- Str => tcx.lang_items().str_impl(),
- Slice => tcx.lang_items().slice_impl(),
- Array => tcx.lang_items().array_impl(),
+ Isize => lang_items.isize_impl(),
+ I8 => lang_items.i8_impl(),
+ I16 => lang_items.i16_impl(),
+ I32 => lang_items.i32_impl(),
+ I64 => lang_items.i64_impl(),
+ I128 => lang_items.i128_impl(),
+ Usize => lang_items.usize_impl(),
+ U8 => lang_items.u8_impl(),
+ U16 => lang_items.u16_impl(),
+ U32 => lang_items.u32_impl(),
+ U64 => lang_items.u64_impl(),
+ U128 => lang_items.u128_impl(),
+ F32 => lang_items.f32_impl(),
+ F64 => lang_items.f64_impl(),
+ Char => lang_items.char_impl(),
+ Bool => lang_items.bool_impl(),
+ Str => lang_items.str_impl(),
+ Slice => lang_items.slice_impl(),
+ Array => lang_items.array_impl(),
Tuple => None,
Unit => None,
- RawPointer => tcx.lang_items().const_ptr_impl(),
+ RawPointer => lang_items.const_ptr_impl(),
Reference => None,
Fn => None,
Never => None,