]> git.lizzy.rs Git - rust.git/commitdiff
Prefer type_of().substs over instance::ty()
authorMaik Klein <maikklein@googlemail.com>
Thu, 23 Nov 2017 14:06:18 +0000 (15:06 +0100)
committerAriel Ben-Yehuda <ariel.byd@gmail.com>
Mon, 18 Dec 2017 15:08:49 +0000 (17:08 +0200)
src/librustc_trans/debuginfo/mod.rs
src/librustc_trans/partitioning.rs

index 228b83a58ad9682dc343834036ed278a3a12c575..7b892c9057ecd3af28f7c49d4b9a381b6b965fbe 100644 (file)
@@ -24,7 +24,7 @@
 use llvm::{ModuleRef, ContextRef, ValueRef};
 use llvm::debuginfo::{DIFile, DIType, DIScope, DIBuilderRef, DISubprogram, DIArray, DIFlags};
 use rustc::hir::def_id::{DefId, CrateNum};
-use rustc::ty::subst::Substs;
+use rustc::ty::subst::{Subst, Substs};
 
 use abi::Abi;
 use common::CrateContext;
@@ -428,7 +428,7 @@ fn get_containing_scope<'ccx, 'tcx>(cx: &CrateContext<'ccx, 'tcx>,
             // If the method does *not* belong to a trait, proceed
             if cx.tcx().trait_id_of_impl(impl_def_id).is_none() {
                 let impl_self_ty =
-                    Instance::new(impl_def_id, instance.substs).ty(cx.tcx());
+                    cx.tcx().type_of(impl_def_id).subst(cx.tcx(), instance.substs);
 
                 // Only "class" methods are generally understood by LLVM,
                 // so avoid methods on other types (e.g. `<*mut T>::null`).
index 9d5b4e9893c95bcccbfd7c5eb97eee6039615778..6897a4aa5a516ba871d835920fd697f7740cce56 100644 (file)
 use syntax::ast::NodeId;
 use syntax::symbol::{Symbol, InternedString};
 use trans_item::{MonoItem, BaseMonoItemExt, MonoItemExt, InstantiationMode};
-use rustc::ty::Instance;
+use rustc::ty::subst::Subst;
 
 pub use rustc::mir::mono::CodegenUnit;
 
@@ -575,7 +575,7 @@ fn characteristic_def_id_of_trans_item<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
             if let Some(impl_def_id) = tcx.impl_of_method(def_id) {
                 // This is a method within an inherent impl, find out what the
                 // self-type is:
-                let impl_self_ty = Instance::new(impl_def_id, instance.substs).ty(tcx);
+                let impl_self_ty = tcx.type_of(impl_def_id).subst(tcx, instance.substs);
                 if let Some(def_id) = characteristic_def_id_of_type(impl_self_ty) {
                     return Some(def_id);
                 }