# 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

Reply via email to