Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
891c2a0
trans: Make translation of statics collector-driven.
michaelwoerister May 7, 2016
6717106
Drive function item translation from collector
Aatch May 13, 2016
5f3fefc
trans: Get rid of the last potential on-demand creation of non-closur…
michaelwoerister May 13, 2016
2cd8cf9
Ignore closure-related translation item collection tests.
michaelwoerister May 14, 2016
65e8a13
Adapt backend to trans::partitioning dictating the codegen-unit setup.
michaelwoerister May 14, 2016
6c8c94b
Improve linkage assignment in trans::partitioning.
michaelwoerister May 19, 2016
87c1c87
Make drop-glue translation collector-driven.
michaelwoerister May 10, 2016
b38e0d0
Build SymbolMap for symbol name conflict checking and caching.
michaelwoerister May 26, 2016
37a10ec
Make item translation order deterministic by sorting by symbol name.
michaelwoerister May 26, 2016
283c94c
Clean up trans::trans_crate() after making things collector driven.
michaelwoerister May 26, 2016
3a47103
Fix codegen tests by make sure items are translated in AST order.
michaelwoerister May 26, 2016
00226fc
Pacify make tidy.
michaelwoerister May 26, 2016
ab80f74
collector-driven-trans: Take care of nits.
michaelwoerister Jun 2, 2016
b33240e
trans::collector: Also consider initializers of const items.
michaelwoerister Jun 2, 2016
4a3f9b8
hir-trans: Don't generate code for unreachable operands in short-circ…
michaelwoerister Jun 3, 2016
a7bc0b9
trans: Add missing normalize_associated_type() call to callee::get_fn().
michaelwoerister Jun 8, 2016
4c27a3c
trans: Enable falling back to on-demand instantiation for drop-glue a…
michaelwoerister Jun 8, 2016
b149b9d
trans: Set COMDAT section for weak symbols so that Windows can handle…
michaelwoerister Jun 9, 2016
ac80d41
trans: Remove tracking of translation item state.
michaelwoerister Jun 16, 2016
051d391
Update LLVM.
michaelwoerister Jun 22, 2016
1c03bfe
trans: Adjust linkage assignment so that we don't need weak linkage.
michaelwoerister Jun 10, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
trans: Add missing normalize_associated_type() call to callee::get_fn().
  • Loading branch information
michaelwoerister committed Jul 8, 2016
commit a7bc0b920f27f943bb841f3ace093a5449394497
4 changes: 2 additions & 2 deletions src/librustc_trans/callee.rs
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ pub fn trans_fn_pointer_shim<'a, 'tcx>(
let tcx = ccx.tcx();

// Normalize the type for better caching.
let bare_fn_ty = tcx.erase_regions(&bare_fn_ty);
let bare_fn_ty = tcx.normalize_associated_type(&bare_fn_ty);

// If this is an impl of `Fn` or `FnMut` trait, the receiver is `&self`.
let is_by_ref = match closure_kind {
Expand Down Expand Up @@ -469,7 +469,7 @@ fn get_fn<'a, 'tcx>(ccx: &CrateContext<'a, 'tcx>,
// Should be either intra-crate or inlined.
assert_eq!(def_id.krate, LOCAL_CRATE);

let substs = tcx.mk_substs(substs.clone().erase_regions());
let substs = tcx.normalize_associated_type(&substs);
let (val, fn_ty) = monomorphize::monomorphic_fn(ccx, def_id, substs);
let fn_ptr_ty = match fn_ty.sty {
ty::TyFnDef(_, _, fty) => {
Expand Down