HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/tab-separated-values; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 03:00:22 GMT Content-length: 1611 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) id summary reporter owner description type status priority milestone component version severity resolution keywords cc lang patch platform 556 setref on derived pmc aggregate class loses data on return bsdz kjs "When deriving from PMC aggregate, data appears to be lost on return from sub after using setref opcode. Here is an example code: - {{{ .include 'library/dumper.pir' .namespace [ 'MyRPA' ] .sub '__dump' :method .param pmc dumper .param pmc label dumper.'genericArray'(label, self) .end .namespace [] .sub '' :main $P0 = subclass 'ResizablePMCArray', 'MyRPA' $P1 = new 'ResizablePMCArray' 'pass_by_ref'($P1) _dumper($P1, 'RPA after') $P2 = new 'MyRPA' 'pass_by_ref'($P2) _dumper($P2, 'MyRPA after') .end .sub 'pass_by_ref' .param pmc p p[0] = 'hello' _dumper(p, 'before setref') setref p, p .end }}} The output is as follow: - {{{ ""before setref"" => ResizablePMCArray (size:1) [ ""hello"" ] ""RPA after"" => ResizablePMCArray (size:1) [ ""hello"" ] ""before setref"" => PMC 'MyRPA' MyRPA (size:1) [ ""hello"" ] ""MyRPA after"" => PMC 'MyRPA' MyRPA (size:1) [ null ] }}} The expected outcome should really be : - {{{ ""before setref"" => ResizablePMCArray (size:1) [ ""hello"" ] ""RPA after"" => ResizablePMCArray (size:1) [ ""hello"" ] ""before setref"" => PMC 'MyRPA' MyRPA (size:1) [ ""hello"" ] ""MyRPA after"" => PMC 'MyRPA' MyRPA (size:1) [ ""hello"" ] }}} " bug closed major core trunk high invalid all method="get">