diff options
author | Matei Zaharia <matei@eecs.berkeley.edu> | 2011-11-08 00:33:28 -0800 |
---|---|---|
committer | Matei Zaharia <matei@eecs.berkeley.edu> | 2011-11-08 00:33:28 -0800 |
commit | f346e64637fa4f9bd95fcc966caa496bea5feca0 (patch) | |
tree | 2ffa38b1e6f159117f690a54e386fad22cb241e9 /project/SparkBuild.scala | |
parent | 7fd05cbb8f06da704a69afa23e0ef869f3990092 (diff) | |
download | spark-f346e64637fa4f9bd95fcc966caa496bea5feca0.tar.gz spark-f346e64637fa4f9bd95fcc966caa496bea5feca0.tar.bz2 spark-f346e64637fa4f9bd95fcc966caa496bea5feca0.zip |
Updates to the closure cleaner to work better with closures in classes.
Before, the cleaner attempted to clone $outer objects that were classes
(as opposed to nested closures) and preserve only their used fields,
which was bad because it would miss fields that are accessed indirectly
by methods, and in general it would confuse user code. Now we keep a
reference to those objects without cloning them. This is not perfect
because the user still needs to be careful of what they'll carry along
into closures, but it works better in some cases that seemed confusing
before. We need to improve the documentation on what variables get
passed along with a closure and possibly add some debugging tools for it
as well.
Fixes #71 -- that code now works in the REPL.
Diffstat (limited to 'project/SparkBuild.scala')
0 files changed, 0 insertions, 0 deletions