IronRuby.Tests.Tests.BlockReturnOptimization6 C# (CSharp) Method

BlockReturnOptimization6() public method

Return propagates thru proc/lambda calls.
public BlockReturnOptimization6 ( ) : void
return void
        public void BlockReturnOptimization6() {
            StackUnwinder.InstanceCount = 0;
            TestOutput(@"
def make_block(&b); b; end

def foo
  b = make_block { return 123 }
  l = lambda { b.call }
  l.call

  'unreachable'
end

puts foo
", @"
123
");
            Assert(StackUnwinder.InstanceCount == 1);
        }
Tests