Backport #8008

super's implicit args behavior with keyword args

Added by nov matake about 1 year ago. Updated about 1 year ago.

[ruby-core:53114]
Status:Closed
Priority:Normal
Assignee:Tomoyuki Chikanaga

Description

I thought this sample says "Year!" 3 times, but actually, keyword args are't passed to super.
https://gist.github.com/nov/5075185

Is this intended behavior?
If so, please ignore this issue.

Associated revisions

Revision 39914
Added by Tomoyuki Chikanaga about 1 year ago

merge revision(s) 39627: [Backport #8008]

* compile.c (iseq_compile_each): pass keyword arguments to zsuper,
  with current values.   [Bug #8008]

Revision 39917
Added by Tomoyuki Chikanaga about 1 year ago

merge revision(s) 39625,39626: [Backport #8008]

compile.c: calc in int

* compile.c (iseq_compile_each): calculate argc as int, not as Fixnum.

History

#1 Updated by Nobuyoshi Nakada about 1 year ago

  • Category set to core
  • Assignee set to Nobuyoshi Nakada
  • Target version set to 2.1.0

Definitely a bug.

#2 Updated by Nobuyoshi Nakada about 1 year ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r39627.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


compile.c: zsuper keyword args

  • compile.c (iseqcompileeach): pass keyword arguments to zsuper, with current values. [Bug #8008]

#3 Updated by Nobuyoshi Nakada about 1 year ago

  • Tracker changed from Bug to Backport
  • Project changed from ruby-trunk to Backport200
  • Category deleted (core)
  • Status changed from Closed to Assigned
  • Assignee changed from Nobuyoshi Nakada to Tomoyuki Chikanaga
  • Target version deleted (2.1.0)

#4 Updated by Tomoyuki Chikanaga about 1 year ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r39914.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39627: [Backport #8008]

* compile.c (iseq_compile_each): pass keyword arguments to zsuper,
  with current values.   [Bug #8008]

#5 Updated by Tomoyuki Chikanaga about 1 year ago

  • Status changed from Closed to Assigned

I'm so sorry r39914 introduce compile error on ruby20_0.
r39627 depend on r39626. I'll merge r39626.

#6 Updated by Tomoyuki Chikanaga about 1 year ago

Hmm... r39626 cannot be merged cleanly.
I'll temporary revert r39914.

#7 Updated by Tomoyuki Chikanaga about 1 year ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r39917.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39625,39626: [Backport #8008]

compile.c: calc in int

* compile.c (iseq_compile_each): calculate argc as int, not as Fixnum.

Also available in: Atom PDF