diff --git a/src/Perl6/Grammar.nqp b/src/Perl6/Grammar.nqp index 9c9a60857d6..5b786089f2c 100644 --- a/src/Perl6/Grammar.nqp +++ b/src/Perl6/Grammar.nqp @@ -4159,6 +4159,7 @@ grammar Perl6::Grammar is HLL::Grammar does STD { token infix:sym«=~=» { } token infix:sym«≅» { } token infix:sym«==» { } + token infix:sym«⩵» { } token infix:sym«!=» { } token infix:sym«≠» { } token infix:sym«<=» { } @@ -4175,6 +4176,7 @@ grammar Perl6::Grammar is HLL::Grammar does STD { token infix:sym«gt» { >> } token infix:sym«=:=» { } token infix:sym<===> { } + token infix:sym<⩶> { } token infix:sym { >> } token infix:sym { >> } token infix:sym { >> } diff --git a/src/core.c/Any.pm6 b/src/core.c/Any.pm6 index 9eddb876770..54424cc078f 100644 --- a/src/core.c/Any.pm6 +++ b/src/core.c/Any.pm6 @@ -465,6 +465,8 @@ multi sub infix:<===>(\a, \b --> Bool:D) { && nqp::iseq_s(nqp::unbox_s(a.WHICH), nqp::unbox_s(b.WHICH))) ) } +# U+2A76 THREE CONSECUTIVE EQUALS SIGNS +my constant &infix:<⩶> = &infix:<===>; proto sub prefix:<++>(Mu, *%) {*} multi sub prefix:<++>(Mu:D $a is rw) { $a = $a.succ } diff --git a/src/core.c/Numeric.pm6 b/src/core.c/Numeric.pm6 index 1a9f2a66824..dea4215bd40 100644 --- a/src/core.c/Numeric.pm6 +++ b/src/core.c/Numeric.pm6 @@ -268,6 +268,9 @@ proto sub infix:<==>($?, $?, *%) is pure {*} multi sub infix:<==>($?) { Bool::True } multi sub infix:<==>(\a, \b) { a.Numeric == b.Numeric } +# U+2A75 TWO CONSECUTIVE EQUALS SIGNS +my constant &infix:<⩵> = &infix:<==>; + proto sub infix:<=~=>($?, $?, *%) {*} # note, can't be pure due to dynvar multi sub infix:<=~=>($?) { Bool::True } multi sub infix:<=~=>(\a, \b, :$tolerance = $*TOLERANCE) { diff --git a/t/02-rakudo/03-corekeys-6c.t b/t/02-rakudo/03-corekeys-6c.t index 47c418a8929..d0700e4d771 100644 --- a/t/02-rakudo/03-corekeys-6c.t +++ b/t/02-rakudo/03-corekeys-6c.t @@ -201,7 +201,9 @@ my @expected = ( Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>}, diff --git a/t/02-rakudo/03-corekeys-6d.t b/t/02-rakudo/03-corekeys-6d.t index 31d397a8394..89c0f795ed3 100644 --- a/t/02-rakudo/03-corekeys-6d.t +++ b/t/02-rakudo/03-corekeys-6d.t @@ -201,7 +201,9 @@ my @expected = ( Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>}, diff --git a/t/02-rakudo/03-corekeys-6e.t b/t/02-rakudo/03-corekeys-6e.t index 1e9769df2c8..244fcd4c5d3 100644 --- a/t/02-rakudo/03-corekeys-6e.t +++ b/t/02-rakudo/03-corekeys-6e.t @@ -203,7 +203,9 @@ my @expected = ( Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>}, diff --git a/t/02-rakudo/03-corekeys.t b/t/02-rakudo/03-corekeys.t index 855902be2fe..63c8d2866f1 100644 --- a/t/02-rakudo/03-corekeys.t +++ b/t/02-rakudo/03-corekeys.t @@ -204,7 +204,9 @@ my @allowed = Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>}, diff --git a/t/02-rakudo/04-settingkeys-6c.t b/t/02-rakudo/04-settingkeys-6c.t index dc15e8d2fe0..5874fc5e538 100644 --- a/t/02-rakudo/04-settingkeys-6c.t +++ b/t/02-rakudo/04-settingkeys-6c.t @@ -200,7 +200,9 @@ my %allowed = ( Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>}, diff --git a/t/02-rakudo/04-settingkeys-6e.t b/t/02-rakudo/04-settingkeys-6e.t index b4ae91538b1..1f833701fae 100644 --- a/t/02-rakudo/04-settingkeys-6e.t +++ b/t/02-rakudo/04-settingkeys-6e.t @@ -200,7 +200,9 @@ my %allowed = ( Q{&infix:}, Q{&infix:<=:=>}, Q{&infix:<===>}, + Q{&infix:<⩶>}, Q{&infix:<==>}, + Q{&infix:<⩵>}, Q{&infix:<=>}, Q{&infix:<=~=>}, Q{&infix:<=~>},