@@ -217,6 +217,9 @@ proto token quote_mod {*}
217
217
token category :trait_mod { <sym > }
218
218
proto token trait_mod is endsym <keyspace > {* }
219
219
220
+ token category :initializer { <sym > }
221
+ proto token initializer is endsym <ws > {* }
222
+
220
223
token category :type_declarator { <sym > }
221
224
proto token type_declarator is endsym <keyspace > {* }
222
225
@@ -2831,21 +2834,18 @@ grammar P6 is STD {
2831
2834
<.getdecl >
2832
2835
}
2833
2836
2834
- token initializer {
2835
- <? before '=' | '.=' | ':=' | '::=' >
2836
- <infix > <.ws >
2837
- [
2838
- :my $ infix = $ < infix > . Str;
2839
- [
2840
- || <?{ $ infix eq ' =' }>
2841
- [ <EXPR (($ * LEFTSIGIL eq ' $' ?? (item % item_assignment ) !! (item %list_prefix ) ))>
2842
- || <.panic : "Malformed initializer" > ]
2843
- || <?{ $ infix eq ' :=' or $ infix eq ' ::=' }> [
2844
- <EXPR (item % list_prefix )> || <.panic : "Malformed binding" > ]
2845
- || <?{ $ infix eq ' .=' }>
2846
- [ <dottyopish > || <.panic : "Malformed mutator method call" > ]
2847
- ]
2848
- ]
2837
+ token initializer :sym <= > {
2838
+ <sym > <EXPR (($ * LEFTSIGIL eq ' $' ?? (item % item_assignment ) !! (item %list_prefix ) ))>
2839
+ || <.panic : "Malformed initializer" >
2840
+ }
2841
+ token initializer :sym <:= > {
2842
+ <sym > <EXPR (item % list_prefix )> || <.panic : "Malformed binding" >
2843
+ }
2844
+ token initializer :sym <::= > {
2845
+ <sym > <EXPR (item % list_prefix )> || <.panic : "Malformed binding" >
2846
+ }
2847
+ token initializer :sym <.= > {
2848
+ <sym > <dottyopish > || <.panic : "Malformed mutator method call" >
2849
2849
}
2850
2850
2851
2851
token type_constraint {
0 commit comments