From: charliesome@... Date: 2014-09-19T12:41:24+00:00 Subject: [ruby-core:65122] [ruby-trunk - Bug #10263] [Open] `super` does not work from binding eval context Issue #10263 has been reported by Charlie Somerville. ---------------------------------------- Bug #10263: `super` does not work from binding eval context https://bugs.ruby-lang.org/issues/10263 * Author: Charlie Somerville * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-09-19 trunk 47643) [x86_64-darwin13] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- `super` is broken when called from inside a binding eval context. Test case: ``` class A def foo puts "A#foo" end end class B < A def foo binding.eval("super") end end B.new.foo ``` Expected output: ``` A#foo ``` Actual output: ``` x.rb:11:in `foo': self has wrong type to call super in this context: B (expected Binding) (TypeError) from x.rb:11:in `eval' from x.rb:11:in `foo' from x.rb:15:in `
' ``` This appears to be a regression in 2.0.0, as the code sample above worked as expected on 1.9.3. -- https://bugs.ruby-lang.org/