Skip to content

Commit 2c0d445

Browse files
committed
---
yaml --- r: 4421 b: refs/heads/master c: 66a255a h: refs/heads/master i: 4419: 6e434a6 v: v3
1 parent 9baa111 commit 2c0d445

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: 9a5e9806f3845731b9c4bdb1b986332ac9ed35b2
2+
refs/heads/master: 66a255ac9291306f3943acb2a00e159ccc15dfa4

trunk/src/comp/middle/trans.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6387,6 +6387,9 @@ fn trans_closure(bcx_maybe: &option::t[@block_ctxt],
63876387

63886388
let closure = create_real_fn_pair(env.bcx, option::get(llfnty),
63896389
llfndecl, env.ptr);
6390+
if copying {
6391+
add_clean_temp(bcx, closure, node_id_type(cx.ccx, id))
6392+
}
63906393
some({fn_pair: closure, bcx: env.bcx})
63916394
}
63926395
_ { none }
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
// Make sure we don't leak lambdas in silly ways.
2+
fn force(f: &fn()) { f() }
3+
fn main() {
4+
let x = 7;
5+
lambda() { log_err x; };
6+
force(lambda() { log_err x; });
7+
}

0 commit comments

Comments
 (0)