diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc/ty/context.rs | 3 | ||||
| -rw-r--r-- | src/librustc_typeck/check/mod.rs | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/librustc/ty/context.rs b/src/librustc/ty/context.rs index 8232c0ed460..80a9cda1e18 100644 --- a/src/librustc/ty/context.rs +++ b/src/librustc/ty/context.rs @@ -388,7 +388,8 @@ pub struct TypeckTables<'tcx> { /// Set of trait imports actually used in the method resolution. /// This is used for warning unused imports. During type - /// checking, this field should not be cloned. + /// checking, this `Rc` should not be cloned: it must have a ref-count + /// of 1 so that we can insert things into the set mutably. pub used_trait_imports: Rc<DefIdSet>, /// If any errors occurred while type-checking this body, diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs index c4c8f65a994..7807c4c7352 100644 --- a/src/librustc_typeck/check/mod.rs +++ b/src/librustc_typeck/check/mod.rs @@ -850,7 +850,7 @@ fn has_typeck_tables<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, fn used_trait_imports<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, def_id: DefId) -> Rc<DefIdSet> { - Rc::clone(&tcx.typeck_tables_of(def_id).used_trait_imports) + tcx.typeck_tables_of(def_id).used_trait_imports.clone() } fn typeck_tables_of<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>, |
