[#50466] [ruby-trunk - Bug #7492][Open] Segmentation fault at DL::TestDL#test_call_double on x64 Windows 8 — "phasis68 (Heesob Park)" <phasis@...>
23 messages
2012/12/02
[#59083] [ruby-trunk - Bug #7492] Segmentation fault at DL::TestDL#test_call_double on x64 Windows 8
— "phasis68 (Heesob Park)" <phasis@...>
2013/12/13
[#50483] [IMPORTANT] 2.0.0 release plan — Yusuke Endoh <mame@...>
ALL COMMITTERS SHOULD READ THIS MAIL! コミッタはこのメール読んで!
5 messages
2012/12/02
[#50561] [ruby-trunk - Bug #7513][Open] TracePoint#enable/disable should not cause error — "ko1 (Koichi Sasada)" <redmine@...>
7 messages
2012/12/05
[#50575] [ruby-trunk - Feature #7517][Open] Fixnum::MIN,MAX — "matz (Yukihiro Matsumoto)" <matz@...>
20 messages
2012/12/05
[#50593] [ruby-trunk - Feature #7517] Fixnum::MIN,MAX
— "shyouhei (Shyouhei Urabe)" <shyouhei@...>
2012/12/05
[#50594] Re: [ruby-trunk - Feature #7517] Fixnum::MIN,MAX
— Charles Oliver Nutter <headius@...>
2012/12/05
On Wed, Dec 5, 2012 at 12:24 PM, shyouhei (Shyouhei Urabe)
[#50636] [ruby-trunk - Bug #7528][Open] CSV.== fails to check object type — "SteveW (Stephen Wattam)" <stephenwattam@...>
6 messages
2012/12/06
[#50660] [ruby-trunk - Feature #4085] Refinements and nested methods — "trans (Thomas Sawyer)" <transfire@...>
3 messages
2012/12/07
[#50699] Commit access for Yehuda Katz — Aaron Patterson <tenderlove@...>
Hi,
4 messages
2012/12/08
[#50923] Re: Commit access for Yehuda Katz
— Charles Oliver Nutter <headius@...>
2012/12/16
I will +1 this, unsure if it has happened already (it's "catch up on
[#50733] [ruby-trunk - Bug #7539][Open] Misleading error message "can't convert nil into string" — "connec (Chris Connelly)" <chris@...>
8 messages
2012/12/10
[#50755] Becoming a committer — Charlie Somerville <charlie@...>
Hi ruby-core,
21 messages
2012/12/11
[#50759] Re: Becoming a committer
— Yukihiro Matsumoto <matz@...>
2012/12/11
Hi,
[#50784] Re: Becoming a committer
— Charles Oliver Nutter <headius@...>
2012/12/11
It's really this easy? If so, I'll send over my public key today :)
[#50795] Re: Becoming a committer
— Yukihiro Matsumoto <matz@...>
2012/12/11
Hi,
[#50797] Re: Becoming a committer
— Charles Oliver Nutter <headius@...>
2012/12/11
I guess there's a few things I'd be interested in:
[#50809] Re: Becoming a committer
— SASADA Koichi <ko1@...>
2012/12/12
(2012/12/12 8:55), Charles Oliver Nutter wrote:
[#50815] Re: Becoming a committer
— Charles Oliver Nutter <headius@...>
2012/12/12
On Wed, Dec 12, 2012 at 12:04 AM, SASADA Koichi <ko1@atdot.net> wrote:
[#50816] Re: Becoming a committer
— "NARUSE, Yui" <naruse@...>
2012/12/12
2012/12/12 Charles Oliver Nutter <headius@headius.com>:
[#50817] Re: Becoming a committer
— Charles Oliver Nutter <headius@...>
2012/12/12
On Wed, Dec 12, 2012 at 2:59 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
[#50765] [ruby-trunk - Bug #7544][Open] Accented characters in IRB — cfabianski (Cédric FABIANSKI) <cfabianski@...>
6 messages
2012/12/11
[#50793] [ruby-trunk - Bug #7547][Open] Dir.mktmpdir('~something') tries to expand a profile directory — "jstanley0 (Jeremy Stanley)" <jeremy@...>
4 messages
2012/12/11
[#50810] [ruby-trunk - Feature #7549][Open] A Ruby Design Process — "brixen (Brian Ford)" <brixen@...>
34 messages
2012/12/12
[#50829] [ruby-trunk - Feature #7549] A Ruby Design Process
— "subwindow (Erik Peterson)" <erik@...>
2012/12/12
[#50837] [ruby-trunk - Feature #7549] A Ruby Design Process
— "subwindow (Erik Peterson)" <erik@...>
2012/12/12
[#50867] [ruby-trunk - Bug #7556][Assigned] test error on refinement — "usa (Usaku NAKAMURA)" <usa@...>
14 messages
2012/12/13
[#50900] [ruby-trunk - Bug #7564][Open] r38175 introduces incompatibility — "tenderlovemaking (Aaron Patterson)" <aaron@...>
14 messages
2012/12/14
[#50913] [ruby-trunk - Bug #7568][Open] Yaml fails to encode zero date string. — "anshul (Anshul Khandelwal)" <anshul@...>
5 messages
2012/12/15
[#50920] [ruby-trunk - Bug #7568][Assigned] Yaml fails to encode zero date string.
— "charliesome (Charlie Somerville)" <charlie@...>
2012/12/16
[#50988] Re: [ruby-trunk - Bug #7568][Assigned] Yaml fails to encode zero date string.
— Aaron Patterson <tenderlove@...>
2012/12/19
On Sun, Dec 16, 2012 at 12:53:14PM +0900, charliesome (Charlie Somerville) wrote:
[#51015] 1.9.3 patch level release — Zachary Scott <zachary@...>
I know unak-san was asking about a 1.9.3 patch level release, so I
8 messages
2012/12/20
[#51099] [ruby-trunk - Feature #7612][Open] Enumerators take a proc — "pedz (Perry Smith)" <pedz@...>
4 messages
2012/12/23
[ruby-core:51163] [ruby-trunk - Bug #7627][Open] Instance variables of a Struct object are marshaled even when marshal_dump method is defined.
From:
"KL-7 (Kirill Lashuk)" <kirill.lashuk@...>
Date:
2012-12-27 20:02:50 UTC
List:
ruby-core #51163
Issue #7627 has been reported by KL-7 (Kirill Lashuk).
----------------------------------------
Bug #7627: Instance variables of a Struct object are marshaled even when marshal_dump method is defined.
https://bugs.ruby-lang.org/issues/7627
Author: KL-7 (Kirill Lashuk)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2012-11-01 trunk 37411) [x86_64-darwin12.2.0]
=begin
If (({marshal_dump})) method is defined in a class and you pass an instance of that class into (({Marshal.dump})), instead of dumping instance variables (as it happens by default, when (({marshal_dump})) is not defined) Ruby dumps only data returned from this method.
Though, if the class is a (({Struct})), MRI 1.8.7 behaves the same way as for a regular class, but both MRI 1.9.3 and MRI 2.0.0 in addition to the data returned from (({marshal_dump})) method automatically dump instance variables of the object.
Code example:
# marshal.rb
class A
attr_accessor :foo
def marshal_dump; 'dump'; end # fake dump data
def marshal_load(*); end # do nothing
end
class B < Struct.new(:bar)
attr_accessor :foo
def marshal_dump; 'dump'; end # fake dump data
def marshal_load(*); end # do nothing
end
def test(obj)
obj.foo = 12
dump = Marshal.dump(obj)
loaded = Marshal.load(dump)
p obj, dump, loaded, loaded.foo
puts
end
test(A.new)
test(B.new)
MRI 1.8.7 (instance variable of the Struct object ((*is not dumped*))):
$ ruby-1.8.7-p371 marshal.rb
#<A:0x10ff5e0a0 @foo=12>
"\004\bU:\006A\"\tdump"
#<A:0x10ff5df38>
nil
#<struct B bar=nil>
"\004\bIU:\006B\"\tdump\000"
#<struct B bar=nil>
nil
MRI 1.9.3 (instance variable of the Struct object ((*is dumped*))):
$ ruby-1.9.3-p327 marshal.rb
#<A:0x007ff79d80e6b0 @foo=12>
"\x04\bU:\x06AI\"\tdump\x06:\x06EF"
#<A:0x007ff79d80e5c0>
nil
#<struct B bar=nil>
"\x04\bIU:\x06BI\"\tdump\x06:\x06EF\x06:\t@fooi\x11"
#<struct B bar=nil>
12
MRI 2.0.0-preview1 (instance variable of the Struct object ((*is dumped*))):
$ ruby-2.0.0-preview1 marshal.rb
#<A:0x007fb46908bf68 @foo=12>
"\x04\bU:\x06AI\"\tdump\x06:\x06EF"
#<A:0x007fb46908be00>
nil
#<struct B bar=nil>
"\x04\bIU:\x06BI\"\tdump\x06:\x06EF\x06:\t@fooi\x11"
#<struct B bar=nil>
12
I'm not sure if it's expected behavior, but it doesn't look like one to me. Probably, it has something to do with the implementation of (({has_ivars})) macro that for some reason is used ((<here|URL:https://github.com/ruby/ruby/blob/trunk/marshal.c#L661>)) while dumping an object with defined (({marshal_dump})) method, but I might be wrong, because I didn't manage to track down the problem further.
=end
--
http://bugs.ruby-lang.org/