diff options
| author | Björn Steinbrink <bsteinbr@gmail.com> | 2013-06-29 17:45:59 +0200 |
|---|---|---|
| committer | Björn Steinbrink <bsteinbr@gmail.com> | 2013-06-29 18:02:21 +0200 |
| commit | ba922a4027f407dd28ab0e699837109ca99ff1ae (patch) | |
| tree | bfcb128ec065eaa8d5bac9e6894ab7b27cae3ace /src/rt/rust_kernel.cpp | |
| parent | 2a40c5db469b5065f64c69ae7874f162ff2669a8 (diff) | |
| download | rust-ba922a4027f407dd28ab0e699837109ca99ff1ae.tar.gz rust-ba922a4027f407dd28ab0e699837109ca99ff1ae.zip | |
Fix handling of temp cleanups for the "self" argument
The code that tried to revoke the cleanup for the self argument tried to use "llself" to do so, but the cleanup might actually be registered with a different ValueRef due to e.g. casting. Currently, this is worked around by early revocation of the cleanup for self in trans_self_arg. To handle this correctly, we have to put the ValueRef for the cleanup into the MethodData, so trans_call_inner can use it to revoke the cleanup when it's actually supposed to.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
0 files changed, 0 insertions, 0 deletions
