@@ -508,9 +508,12 @@ let make_unary_expr start_pos token_end token operand =
508508 }
509509 | (Minus | MinusDot ), Pexp_constant (Pconst_float (n , m )) ->
510510 {operand with pexp_desc = Pexp_constant (Pconst_float (negate_string n, m))}
511- | (Token. Plus | PlusDot | Minus | MinusDot | Tilde ), _ ->
511+ | (Token. Plus | PlusDot | Minus | MinusDot | Bnot ), _ ->
512512 let token_loc = mk_loc start_pos token_end in
513- let operator = " ~" ^ Token. to_string token in
513+ let token_string = Token. to_string token in
514+ let operator =
515+ if token_string.[0 ] = '~' then token_string else " ~" ^ token_string
516+ in
514517 Ast_helper.Exp. apply
515518 ~loc: (mk_loc start_pos operand.Parsetree. pexp_loc.loc_end)
516519 (Ast_helper.Exp. ident ~loc: token_loc
@@ -2292,7 +2295,7 @@ and parse_primary_expr ~operand ?(no_call = false) p =
22922295and parse_unary_expr p =
22932296 let start_pos = p.Parser. start_pos in
22942297 match p.Parser. token with
2295- | (Minus | MinusDot | Plus | PlusDot | Bang | Tilde ) as token ->
2298+ | (Minus | MinusDot | Plus | PlusDot | Bang | Bnot ) as token ->
22962299 Parser. leave_breadcrumb p Grammar. ExprUnary ;
22972300 let token_end = p.end_pos in
22982301 Parser. next p;
@@ -5940,15 +5943,15 @@ and parse_polymorphic_variant_type_spec_hash ~attrs ~full p :
59405943 let ident, loc = parse_hash_ident ~start_pos p in
59415944 let rec loop p =
59425945 match p.Parser. token with
5943- | Band when full ->
5946+ | Ampersand when full ->
59445947 Parser. next p;
59455948 let row_field = parse_polymorphic_variant_type_args p in
59465949 row_field :: loop p
59475950 | _ -> []
59485951 in
59495952 let first_tuple, tag_contains_a_constant_empty_constructor =
59505953 match p.Parser. token with
5951- | Band when full ->
5954+ | Ampersand when full ->
59525955 Parser. next p;
59535956 ([parse_polymorphic_variant_type_args p], true )
59545957 | Lparen -> ([parse_polymorphic_variant_type_args p], false )
0 commit comments