wybe icon indicating copy to clipboard operation
wybe copied to clipboard

Update syntax does not work with subtraction

Open pschachte opened this issue 1 year ago • 1 comments

For example, the following do not compile:

!x - 1   # should decrement x
10 - !x  # should subtract x from 10

These elicit these compiler errors:

test-cases/final-dump/minus_update.wybe:4:2: Ambiguous overloading: call could refer to:
    wybe.int.-<3>
    wybe.int.-<0>
test-cases/final-dump/minus_update.wybe:5:1: Ambiguous overloading: call could refer to:
    wybe.int.-<3>
    wybe.int.-<0>

I suspect this is caused by some kind of conflict with unary subtraction.

pschachte avatar Apr 24 '24 12:04 pschachte

This is hard to fix because of the way type checking runs first, followed by mode checking. Considering only types without looking at modes, we can't distinguish unary negation from something like !x - 1.

pschachte avatar May 14 '24 10:05 pschachte