# New Ticket Created by  Elizabeth Mattijsen 
# Please include the string:  [perl #130030]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=130030 >


<lizmat>        m: role A { has $!foo }; class B does A { method b() { $!foo := 
42 } }; B.b  # shouldn't this just work ?
<camelia>       rakudo-moar 8b40d1: OUTPUT«X::TypeCheck::Binding exception 
produced no message␤  in method b at <tmp> line 1␤  in block <unit> at <tmp> 
line 1␤␤»
<lizmat>        jnthn ^^^
<timotimo>      m: role A { has $!foo }; class B does A { method b() { $!foo := 
42 } }; B.new.b
<camelia>       rakudo-moar 8b40d1: OUTPUT«X::TypeCheck::Binding exception 
produced no message␤  in method b at <tmp> line 1␤  in block <unit> at <tmp> 
line 1␤␤»
<timotimo>      m: role A { has $!foo }; class B does A { method b() { $!foo = 
42 } }; B.new.b
<camelia>       rakudo-moar 8b40d1: ( no output )
<lizmat>        yeah, I missed the .new in my example, but the result is the 
same, no?
<lizmat>        binding just doesn't work
<timotimo>      right
<timotimo>      are assignments to native attributes already just nqp::bindattr?
<timotimo>      er, not "native"
<timotimo>      but that kind of makes it awkward to put Scalar objects into 
attributes and assigning binds the new value to replace the scalar instead of 
assigning into the scalar?
<timotimo>      except if you use accessors, you potentially get an AttrRef 
that's scalar-like? perhaps?
<lizmat>        what I want to achieve is to bind an nqp::list from a 
'$!reified' slot
<lizmat>        if I just assign, I get this:
<lizmat>        $ 6l 'my @a[10] = ^10; say @a.iterator.pull-one'
<lizmat>        Segmentation fault: 11
<lizmat>        :-(
<lizmat>        ok, I guess I'll work around it  :-(
<lizmat>        timotimo: do you agree this is buggable ?
<timotimo>      huh, ouch
<nine>  lizmat: all segfaults are buggable
<timotimo>      quite

Reply via email to