rust/src/librustc/middle/trans
Brian Koropoff daa215e8c5 Fix handling of unboxed closure type param substitutions
- When selecting an implicit trait impl for an unboxed closure, plumb
  through and use the substitutions from impl selection instead of
  using those from the current param environment in trans, which may
  be incorrect.
- When generating a function declaration for an unboxed closure, plumb
  through the substitutions from the param environment of the closure
  as above.  Also normalize the type to avoid generating duplicate
  declarations due to regions being inconsistently replaced with
  ReStatic elsewhere.
- Do not place the closure type in the self param space when
  translating the unboxed closure callee, etc.  It is not actually
  used, and doing so conflicts with the self substitution from
  default trait methods.

Closes #18661
Closes #18685
2014-11-06 18:17:57 -08:00
..
_match.rs collections: Enable IndexMut for some collections 2014-10-30 08:54:30 -07:00
adt.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
asm.rs Remove a large amount of deprecated functionality 2014-10-19 12:59:40 -07:00
base.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
basic_block.rs librustc: Implement lifetime elision. 2014-07-19 13:10:58 -07:00
build.rs Rename fail! to panic! 2014-10-29 11:43:07 -04:00
builder.rs Remove a large amount of deprecated functionality 2014-10-19 12:59:40 -07:00
cabi_arm.rs rollup merge of #18398 : aturon/lint-conventions-2 2014-10-30 17:37:22 -07:00
cabi_mips.rs rollup merge of #18398 : aturon/lint-conventions-2 2014-10-30 17:37:22 -07:00
cabi_x86_64.rs rollup merge of #18398 : aturon/lint-conventions-2 2014-10-30 17:37:22 -07:00
cabi_x86_win64.rs librustc: Forbid external crates, imports, and/or items from being 2014-08-16 19:32:25 -07:00
cabi_x86.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
cabi.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
callee.rs Fix handling of unboxed closure type param substitutions 2014-11-06 18:17:57 -08:00
cleanup.rs collections: Enable IndexMut for some collections 2014-10-30 08:54:30 -07:00
closure.rs Fix handling of unboxed closure type param substitutions 2014-11-06 18:17:57 -08:00
common.rs Monomorphize method types in Typer impl for BlockS 2014-11-01 15:24:34 -07:00
consts.rs Remove FnStyle from DefFn and DefStaticMethod 2014-11-01 11:05:12 +13:00
context.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
controlflow.rs Update infrastructure for fail -> panic 2014-10-29 16:06:13 -04:00
datum.rs Remove ty_bot from the type system 2014-10-28 17:54:16 +01:00
debuginfo.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
doc.rs Rename fail! to panic! 2014-10-29 11:43:07 -04:00
expr.rs rollup merge of #18505 : bkoropoff/issue-18487 2014-11-03 08:31:45 -08:00
foreign.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
glue.rs Rename fail! to panic! 2014-10-29 11:43:07 -04:00
inline.rs rustc: Add const globals to the language 2014-10-09 09:44:50 -07:00
intrinsic.rs rollup merge of #18398 : aturon/lint-conventions-2 2014-10-30 17:37:22 -07:00
llrepr.rs make CrateContext fields private 2014-09-05 09:18:53 -07:00
machine.rs Use the correct LLVM integer sizes 2014-10-15 14:17:34 +03:00
macros.rs Convert most code to new inner attribute syntax. 2014-03-28 17:12:21 -07:00
meth.rs Fix handling of unboxed closure type param substitutions 2014-11-06 18:17:57 -08:00
mod.rs librustc: Remove trans::reflect and the opaque and ty_visitor lang items. 2014-10-16 11:15:36 -04:00
monomorphize.rs librustc: Remove all uses of {:?}. 2014-10-16 11:15:34 -04:00
tvec.rs Fix ICE translating array repeat expr of non-Copy type 2014-10-29 21:45:35 -07:00
type_.rs Implement flexible target specification 2014-11-04 05:07:47 -05:00
type_of.rs Rename fail! to panic! 2014-10-29 11:43:07 -04:00
value.rs rustc: fix fallout from the addition of a 'tcx lifetime on trans::Block. 2014-09-08 15:28:24 +03:00