Clean up some language trait items comparisons
This commit is contained in:
parent
75f0f7af31
commit
caf6c92d19
2 changed files with 6 additions and 21 deletions
|
@ -1507,12 +1507,7 @@ impl<'a, 'tcx> InferCtxtPrivExt<'tcx> for InferCtxt<'a, 'tcx> {
|
|||
// avoid inundating the user with unnecessary errors, but we now
|
||||
// check upstream for type errors and don't add the obligations to
|
||||
// begin with in those cases.
|
||||
if self
|
||||
.tcx
|
||||
.lang_items()
|
||||
.sized_trait()
|
||||
.map_or(false, |sized_id| sized_id == trait_ref.def_id())
|
||||
{
|
||||
if self.tcx.lang_items().sized_trait() == Some(trait_ref.def_id()) {
|
||||
self.need_type_info_err(body_id, span, self_ty, ErrorCode::E0282).emit();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -110,25 +110,15 @@ impl<'tcx> chalk_solve::RustIrDatabase<RustInterner<'tcx>> for RustIrDatabase<'t
|
|||
.map(|i| chalk_ir::AssocTypeId(i.def_id))
|
||||
.collect();
|
||||
|
||||
let well_known = if self
|
||||
.interner
|
||||
.tcx
|
||||
.lang_items()
|
||||
.sized_trait()
|
||||
.map(|t| def_id == t)
|
||||
.unwrap_or(false)
|
||||
{
|
||||
let well_known = if self.interner.tcx.lang_items().sized_trait() == Some(def_id) {
|
||||
Some(chalk_solve::rust_ir::WellKnownTrait::Sized)
|
||||
} else if self.interner.tcx.lang_items().copy_trait().map(|t| def_id == t).unwrap_or(false)
|
||||
{
|
||||
} else if self.interner.tcx.lang_items().copy_trait() == Some(def_id) {
|
||||
Some(chalk_solve::rust_ir::WellKnownTrait::Copy)
|
||||
} else if self.interner.tcx.lang_items().clone_trait().map(|t| def_id == t).unwrap_or(false)
|
||||
{
|
||||
} else if self.interner.tcx.lang_items().clone_trait() == Some(def_id) {
|
||||
Some(chalk_solve::rust_ir::WellKnownTrait::Clone)
|
||||
} else if self.interner.tcx.lang_items().drop_trait().map(|t| def_id == t).unwrap_or(false)
|
||||
{
|
||||
} else if self.interner.tcx.lang_items().drop_trait() == Some(def_id) {
|
||||
Some(chalk_solve::rust_ir::WellKnownTrait::Drop)
|
||||
} else if self.interner.tcx.lang_items().fn_trait().map(|t| def_id == t).unwrap_or(false) {
|
||||
} else if self.interner.tcx.lang_items().fn_trait() == Some(def_id) {
|
||||
Some(chalk_solve::rust_ir::WellKnownTrait::Fn)
|
||||
} else if self
|
||||
.interner
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue