Re: [OE vs Phix] assigning atom to a slice is different
- Posted by petelomax Feb 15, 2018
- 1268 views
Thanks, you found a bug.
Fix is line 441 of builtins\VM\pRepsN.e (for 32 bit)
--15/2/18: -- lea esi,[esi+eax*4-4] lea esi,[esi+eax*4]
and similar on line 1259 for 64 bit (just after the presumably not very thoroughly tested bugfix dated 29/12/15 of rax*4->rax*8)
--15/2/18: -- lea rsi,[rsi+rax*8-8] lea rsi,[rsi+rax*8]
It will never cease to amaze me how such things can lie undetected for so long.
As mentioned it is perhaps a slightly unusual case, in fact str[1..1]='a', str[1..1]="a", and seq[1..1]={9} were (and still are) all working as they should (flw).
Regards,
Pete
PS I trust you will recall that Phix supports variable length slice substitution, which OE does not, eg
string s = "fed" s[2..2] = "ee" -- s is now "feed"
- which I only mention since you appear to be on a testing path that might stumble over it.