stricted

Run Settings
LanguageRaku
Language Version
Run Command
multi trait_mod:<is>(Mu $class, :$stricted) { my &meth = method (*%pars, |) { my @pars = %pars.keys; my $attrs = set self.^attributes.map(*.name.substr: 2); my @wrong = @pars.grep: * !(elem) $attrs; die "Wrong named parameters: @wrong[]" if @wrong; nextsame } if $class.^find_method: "TWEAK" -> $_ { .wrap: &meth } else { $class.^add_method: "TWEAK", &meth } } class Bla { has $.a; } class Ble is Bla { has $.b; } class Bli is Ble is stricted { has $.c; } say Bli.new: :a, :b, :c; say Bli.new: :a, :b, :c, :d;
Editor Settings
Theme
Key bindings
Full width
Lines