Browse source

Changelog

Query
From:
To:
Branch:
Path:
Message:
BugID:
User: +
Format:
: 1 checkin (+30/-6) by Henrik Grubbström (Grubba) <grubba@grubba.org> Lines added/removed recently

Friday 15 July 2022

2022-07-15 14:18:25 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Improved type for bignum objects in _typeof().

Bignum objects now get the type scope(0, object(bignum)|int).
This helps in avoiding issues when the bignums aren't inspected
deeply. This fixes eg

return ([ "a": 0xffffffff00000000ffffffff ]);

Which previously caused a compilation error due to the compiler
derived type (mapping(string(1:97): int)) not matching the type
from _typeof() on the constant value (mapping(string: object)).

The compiler now instead derives the type

mapping(string(1:97): scope(0, int|object(is bignum)))

which is compatible with the result from _typeof().

Fixes testsuite failures on 32-bit platforms.

[permalink]

Bugs? Suggestions?