move some layout logic to rustc_target::abi::layout
This commit is contained in:
parent
09a384643e
commit
27fb904d68
15 changed files with 1232 additions and 1158 deletions
|
@ -9,9 +9,9 @@
|
|||
use rustc_middle::traits::ChalkRustInterner as RustInterner;
|
||||
use rustc_middle::ty::{self, AssocKind, EarlyBinder, Ty, TyCtxt, TypeFoldable, TypeSuperFoldable};
|
||||
use rustc_middle::ty::{InternalSubsts, SubstsRef};
|
||||
use rustc_target::abi::{Integer, IntegerType};
|
||||
|
||||
use rustc_ast::ast;
|
||||
use rustc_attr as attr;
|
||||
|
||||
use rustc_hir::def_id::DefId;
|
||||
|
||||
|
@ -218,21 +218,21 @@ impl<'tcx> chalk_solve::RustIrDatabase<RustInterner<'tcx>> for RustIrDatabase<'t
|
|||
c: adt_def.repr().c(),
|
||||
packed: adt_def.repr().packed(),
|
||||
int: adt_def.repr().int.map(|i| match i {
|
||||
attr::IntType::SignedInt(ty) => match ty {
|
||||
ast::IntTy::Isize => int(chalk_ir::IntTy::Isize),
|
||||
ast::IntTy::I8 => int(chalk_ir::IntTy::I8),
|
||||
ast::IntTy::I16 => int(chalk_ir::IntTy::I16),
|
||||
ast::IntTy::I32 => int(chalk_ir::IntTy::I32),
|
||||
ast::IntTy::I64 => int(chalk_ir::IntTy::I64),
|
||||
ast::IntTy::I128 => int(chalk_ir::IntTy::I128),
|
||||
IntegerType::Pointer(true) => int(chalk_ir::IntTy::Isize),
|
||||
IntegerType::Pointer(false) => uint(chalk_ir::UintTy::Usize),
|
||||
IntegerType::Fixed(i, true) => match i {
|
||||
Integer::I8 => int(chalk_ir::IntTy::I8),
|
||||
Integer::I16 => int(chalk_ir::IntTy::I16),
|
||||
Integer::I32 => int(chalk_ir::IntTy::I32),
|
||||
Integer::I64 => int(chalk_ir::IntTy::I64),
|
||||
Integer::I128 => int(chalk_ir::IntTy::I128),
|
||||
},
|
||||
attr::IntType::UnsignedInt(ty) => match ty {
|
||||
ast::UintTy::Usize => uint(chalk_ir::UintTy::Usize),
|
||||
ast::UintTy::U8 => uint(chalk_ir::UintTy::U8),
|
||||
ast::UintTy::U16 => uint(chalk_ir::UintTy::U16),
|
||||
ast::UintTy::U32 => uint(chalk_ir::UintTy::U32),
|
||||
ast::UintTy::U64 => uint(chalk_ir::UintTy::U64),
|
||||
ast::UintTy::U128 => uint(chalk_ir::UintTy::U128),
|
||||
IntegerType::Fixed(i, false) => match i {
|
||||
Integer::I8 => uint(chalk_ir::UintTy::U8),
|
||||
Integer::I16 => uint(chalk_ir::UintTy::U16),
|
||||
Integer::I32 => uint(chalk_ir::UintTy::U32),
|
||||
Integer::I64 => uint(chalk_ir::UintTy::U64),
|
||||
Integer::I128 => uint(chalk_ir::UintTy::U128),
|
||||
},
|
||||
}),
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue