motoko
motoko copied to clipboard
bug: inconsistent trap messages based on size of value for Nat64 subtraction
The following Nat64 underflows produce different trap messages
actor Echo {
public query func substractLargeNat64() : async Nat64 {
return 0xFFFF_FFFF_FFFF_FFFE - 0xFFFF_FFFF_FFFF_FFFF;
};
public query func substractSmallNat64() : async Nat32 {
return 5 - 6;
};
};
Canister 2tvx6-uqaaa-aaaab-qaclq-cai trapped explicitly: Natural subtraction underflow" Canister 2tvx6-uqaaa-aaaab-qaclq-cai trapped explicitly: arithmetic overflow"
https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/?tag=2146295651