It seems to work okay if I change `num` to `Num`:
class A {
has Num $!a is required is built;
};
dd A.new(a => 0e0);
#returns:
A.new(a => 0e0)
Note, I'm on a fairly old version of Rakudo [moar (2021.06).
HTH, Bill.
On Tue, Aug 23, 2022 at 6:47 PM Kevin Pye <[email protected]> wrote:
>
> Hi,
>
> The following fairly simple code works well:
>
> class A {
> has num $!a is required is built;
> };
>
> dd A.new(a => 1e0);
>
> producing "A.new(a => 1e0)".
>
> However, if we make a slight change:
>
> class A {
> has num $!a is required is built;
> };
>
> dd A.new(a => 0e0);
>
> (i.e. initialising to 0 instead of 1), we get
>
> The attribute '$!a' is required, but you did not provide a value for it.
> in block <unit> at test.raku line 5
>
> Any value except 0 seems to work fine.
>
> Am I doing something stupid, or is this a problem with rakudo?
>
> Kevin.