Project

General

Profile

Backport #5247

Marshal.load didn't call correct initialize method of subclasses of a struct

Added by godfat (Lin Jen-Shin) almost 8 years ago. Updated 6 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-
[ruby-core:39165]

Description

It's ok in 1.9:

ruby -ve 'class C

But wrong in 1.8:

ruby-1.8 -ve 'class C<Struct.new(:a);def initialize;end;end;p Marshal.load(Marshal.dump(C.new))'
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
-e:1:in initialize': wrong number of arguments (1 for 0) (ArgumentError)
from -e:1:in
load'
from -e:1

History

#1

Updated by jeremyevans0 (Jeremy Evans) 6 days ago

  • ruby -v deleted (ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux])
  • Target version deleted (Ruby 1.8.7)
  • Status changed from Open to Closed
  • Project changed from Ruby 1.8 to Backport187
  • Tracker changed from Bug to Backport

Also available in: Atom PDF