Hi all,

Can someone smarter tell me why this fails?  I'm expecting the TestDir 
to get GC'd when I call GC.start in the test, but something's obviously 
keeping a reference lying around.  I just can't see what it is...

----------------------
require 'test/unit'
require 'fileutils'

class TestDir
   def TestDir.set_finalizer(testdir, dir)
     ObjectSpace.define_finalizer(testdir, proc{|id|
       FileUtils.rm_rf(dir)
     }
   end
   def initialize(dir)
     FileUtils.mkdir(dir)
     TestDir.set_finalizer(self, dir)
   end
end

class DestroyTest < Test::Unit::TestCase
   def test_destroy
     a = TestDir.new('test_dir')
     a = nil
     GC.start
     assert !File.directory?('test_dir')
   end
end
----------------------------

It's got me a bit stumped.

Thanks,
-- 
Alex