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 <kjpr...@pye.id.au> 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.

Reply via email to