diff options
| author | bors <bors@rust-lang.org> | 2014-01-27 09:31:44 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-01-27 09:31:44 -0800 |
| commit | d6d7812da841ddedf6c765eebb655be9866956ce (patch) | |
| tree | 462e190485176d8089f3212a8acdfe783e447fbd /src/rustllvm/RustWrapper.cpp | |
| parent | be974bf499a977530703fd62b3794a9377b6cbc4 (diff) | |
| parent | 15ba0c310a2bfe2ab69670d0d87529a29d527973 (diff) | |
| download | rust-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
