]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_codegen_llvm/consts.rs
Rollup merge of #68106 - varkor:self_self_use, r=estebank
[rust.git] / src / librustc_codegen_llvm / consts.rs
index 318037b5bd81da1faf96876f724052df0a5bb5cc..38090cb26bc413e114e6d21285d57787f7d60ddb 100644 (file)
@@ -7,21 +7,20 @@
 use crate::value::Value;
 use libc::c_uint;
 use log::debug;
-use rustc::hir::def_id::DefId;
-use rustc::hir::Node;
+use rustc::middle::codegen_fn_attrs::{CodegenFnAttrFlags, CodegenFnAttrs};
 use rustc::mir::interpret::{read_target_uint, Allocation, ConstValue, ErrorHandled, Pointer};
 use rustc::mir::mono::MonoItem;
+use rustc::ty::layout::{self, Align, LayoutOf, Size};
 use rustc::ty::{self, Instance, Ty};
 use rustc::{bug, span_bug};
 use rustc_codegen_ssa::traits::*;
+use rustc_hir as hir;
+use rustc_hir::def_id::DefId;
+use rustc_hir::Node;
 use rustc_span::symbol::{sym, Symbol};
 use rustc_span::Span;
 use rustc_target::abi::HasDataLayout;
 
-use rustc::ty::layout::{self, Align, LayoutOf, Size};
-
-use rustc::hir::{self, CodegenFnAttrFlags, CodegenFnAttrs};
-
 use std::ffi::CStr;
 
 pub fn const_alloc_to_llvm(cx: &CodegenCx<'ll, '_>, alloc: &Allocation) -> &'ll Value {
@@ -206,7 +205,7 @@ impl CodegenCx<'ll, 'tcx> {
             def_id
         );
 
-        let ty = instance.ty(self.tcx);
+        let ty = instance.monomorphic_ty(self.tcx);
         let sym = self.tcx.symbol_name(instance).name;
 
         debug!("get_static: sym={} instance={:?}", sym, instance);
@@ -363,7 +362,7 @@ fn codegen_static(&self, def_id: DefId, is_mutable: bool) {
             };
 
             let instance = Instance::mono(self.tcx, def_id);
-            let ty = instance.ty(self.tcx);
+            let ty = instance.monomorphic_ty(self.tcx);
             let llty = self.layout_of(ty).llvm_type(self);
             let g = if val_llty == llty {
                 g