@@ -3,7 +3,7 @@ use chalk_ir::interner::ChalkIr;
33use chalk_ir:: { self , AssocTypeId , BoundVar , DebruijnIndex , ImplId , StructId , TraitId } ;
44use chalk_parse:: ast:: * ;
55use chalk_rust_ir as rust_ir;
6- use chalk_rust_ir:: { Anonymize , AssociatedTyValueId , IntoWhereClauses , LangItem , ToParameter } ;
6+ use chalk_rust_ir:: { Anonymize , AssociatedTyValueId , IntoWhereClauses , ToParameter } ;
77use lalrpop_intern:: intern;
88use std:: collections:: BTreeMap ;
99use std:: sync:: Arc ;
@@ -246,7 +246,7 @@ impl LowerProgram for Program {
246246
247247 let mut struct_data = BTreeMap :: new ( ) ;
248248 let mut trait_data = BTreeMap :: new ( ) ;
249- let mut trait_lang_items = BTreeMap :: new ( ) ;
249+ let mut well_known_traits = BTreeMap :: new ( ) ;
250250 let mut impl_data = BTreeMap :: new ( ) ;
251251 let mut associated_ty_data = BTreeMap :: new ( ) ;
252252 let mut associated_ty_values = BTreeMap :: new ( ) ;
@@ -271,18 +271,7 @@ impl LowerProgram for Program {
271271 let trait_datum = trait_defn. lower_trait ( trait_id, & empty_env) ?;
272272
273273 if let Some ( well_known) = trait_datum. well_known {
274- if let Some ( lang_item) = match well_known {
275- rust_ir:: WellKnownTrait :: SizedTrait => Some ( LangItem :: SizedTrait ) ,
276- _ => None ,
277- } {
278- use std:: collections:: btree_map:: Entry ;
279- match trait_lang_items. entry ( lang_item) {
280- Entry :: Vacant ( vacant) => vacant. insert ( trait_id) ,
281- Entry :: Occupied ( _) => {
282- return Err ( RustIrError :: DuplicateLangItem ( lang_item) )
283- }
284- } ;
285- }
274+ well_known_traits. insert ( well_known, trait_id) ;
286275 }
287276
288277 trait_data. insert ( trait_id, Arc :: new ( trait_datum) ) ;
@@ -382,7 +371,7 @@ impl LowerProgram for Program {
382371 trait_kinds,
383372 struct_data,
384373 trait_data,
385- trait_lang_items ,
374+ well_known_traits ,
386375 impl_data,
387376 associated_ty_values,
388377 associated_ty_data,
0 commit comments