diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs index 450d4203bae3..14311cf88fda 100644 --- a/src/librustc/driver/driver.rs +++ b/src/librustc/driver/driver.rs @@ -299,7 +299,7 @@ pub fn phase_3_run_analysis_passes(sess: Session, last_private_map: last_private_map } = time(time_passes, "resolution", (), |_| - middle::resolve::resolve_crate(&sess, lang_items, krate)); + middle::resolve::resolve_crate(&sess, &lang_items, krate)); // Discard MTWT tables that aren't required past resolution. syntax::ext::mtwt::clear_tables(); diff --git a/src/librustc/middle/lang_items.rs b/src/librustc/middle/lang_items.rs index 7fca0e56aa21..42ef8b9d51b0 100644 --- a/src/librustc/middle/lang_items.rs +++ b/src/librustc/middle/lang_items.rs @@ -195,12 +195,12 @@ pub fn extract(attrs: &[ast::Attribute]) -> Option { } pub fn collect_language_items(krate: &ast::Crate, - session: &Session) -> @LanguageItems { + session: &Session) -> LanguageItems { let mut collector = LanguageItemCollector::new(session); collector.collect(krate); let LanguageItemCollector { items, .. } = collector; session.abort_if_errors(); - @items + items } // End of the macro diff --git a/src/librustc/middle/resolve.rs b/src/librustc/middle/resolve.rs index cd9d88537b4f..5e1f854f6a41 100644 --- a/src/librustc/middle/resolve.rs +++ b/src/librustc/middle/resolve.rs @@ -799,7 +799,7 @@ fn namespace_error_to_str(ns: NamespaceError) -> &'static str { } fn Resolver<'a>(session: &'a Session, - lang_items: @LanguageItems, + lang_items: &'a LanguageItems, crate_span: Span) -> Resolver<'a> { let graph_root = @NameBindings(); @@ -856,7 +856,7 @@ fn Resolver<'a>(session: &'a Session, /// The main resolver class. struct Resolver<'a> { session: &'a Session, - lang_items: @LanguageItems, + lang_items: &'a LanguageItems, graph_root: @NameBindings, @@ -5455,7 +5455,7 @@ pub struct CrateMap { /// Entry point to crate resolution. pub fn resolve_crate(session: &Session, - lang_items: @LanguageItems, + lang_items: &LanguageItems, krate: &Crate) -> CrateMap { let mut resolver = Resolver(session, lang_items, krate.span); diff --git a/src/librustc/middle/ty.rs b/src/librustc/middle/ty.rs index ae48993dcd09..b28fd06f9ad9 100644 --- a/src/librustc/middle/ty.rs +++ b/src/librustc/middle/ty.rs @@ -299,7 +299,7 @@ pub struct ctxt { pub ty_param_defs: RefCell>, pub adjustments: RefCell>, pub normalized_cache: RefCell>, - pub lang_items: @middle::lang_items::LanguageItems, + pub lang_items: middle::lang_items::LanguageItems, // A mapping of fake provided method def_ids to the default implementation pub provided_method_sources: RefCell>, pub supertraits: RefCell >>, @@ -1086,7 +1086,7 @@ pub fn mk_ctxt(s: Session, map: ast_map::Map, freevars: freevars::freevar_map, region_maps: middle::region::RegionMaps, - lang_items: @middle::lang_items::LanguageItems) + lang_items: middle::lang_items::LanguageItems) -> ctxt { ctxt { named_region_map: named_region_map, diff --git a/src/librustc/middle/typeck/check/mod.rs b/src/librustc/middle/typeck/check/mod.rs index c7ff8b90ad69..45d6434431bb 100644 --- a/src/librustc/middle/typeck/check/mod.rs +++ b/src/librustc/middle/typeck/check/mod.rs @@ -2100,7 +2100,7 @@ fn check_expr_with_unifier(fcx: &FnCtxt, op: ast::BinOp, rhs: @ast::Expr) -> ty::t { let tcx = fcx.ccx.tcx; - let lang = tcx.lang_items; + let lang = &tcx.lang_items; let (name, trait_did) = match op { ast::BiAdd => ("add", lang.add_trait()), ast::BiSub => ("sub", lang.sub_trait()),