# New Ticket Created by Zoffix Znet
# Please include the string: [perl #132176]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=132176 >
During a recent update[^1] the static optimizer was taught to convert the
Mexico ≥, ≤, and ≠ ops to their Texas alternatives.
It was later pointed out[^2] that this aliasing is stronger than originally
intended:
multi sub infix:«<=» ( Str $, Str $ --> 'Str' ) {}
say 'f' <= 'f'; # Str
say 'f' ≤ 'f'; # Str
It doesn't work the other way around though: defining own ≤ op won't make <=
use it and
these three ops are probably the only ones for which this kind of thing happens.
I removed[^3] this kind of aliasing, for now.
The RFC is: should this kind of aliasing be done for *all* Mexico ops?
- The Mexico name is the one that is implemented as an alias to the Texas
name
- Defining a lexical Texas op makes Mexico ops use that lexical for free
- Defining a lexical Mexico op does NOT make Texas alternatives use it for
free
[1]
https://github.com/rakudo/rakudo/commit/6ec21cb47394527983f48282d9a61319a4cb1f26
[2]
https://github.com/rakudo/rakudo/commit/6ec21cb47394527983f48282d9a61319a4cb1f26#commitcomment-24615687
[3]
https://github.com/rakudo/rakudo/commit/43c348a8e7006978057fad2e360a700d263fcbd8