about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-01-27 09:31:44 -0800
committerbors <bors@rust-lang.org>2014-01-27 09:31:44 -0800
commitd6d7812da841ddedf6c765eebb655be9866956ce (patch)
tree462e190485176d8089f3212a8acdfe783e447fbd /src/rustllvm/RustWrapper.cpp
parentbe974bf499a977530703fd62b3794a9377b6cbc4 (diff)
parent15ba0c310a2bfe2ab69670d0d87529a29d527973 (diff)
downloadrust-d6d7812da841ddedf6c765eebb655be9866956ce.tar.gz
rust-d6d7812da841ddedf6c765eebb655be9866956ce.zip
auto merge of #11595 : eddyb/rust/env-et-self-no-more, r=nikomatsakis
Non-exhaustive change list:
* `self` is now present in argument lists (modulo type-checking code I don't trust myself to refactor)
* methods have the same calling convention as bare functions (including the self argument)
* the env param is gone from all bare functions (and methods), only used by closures and `proc`s
* bare functions can only be coerced to closures and `proc`s if they are statically resolved, as they now require creating a wrapper specific to that function, to avoid indirect wrappers (equivalent to `impl<..Args, Ret> Fn<..Args, Ret> for fn(..Args) -> Ret`) that might not be optimizable by LLVM and don't work for `proc`s
* refactored some `trans::closure` code, leading to the removal of `trans::glue::make_free_glue` and `ty_opaque_closure_ptr`
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions