less nullable

This commit is contained in:
Folkert 2021-07-18 20:00:41 +02:00
parent b0a07558f1
commit 074aba0012

View file

@ -98,7 +98,7 @@ pub const RocDec = extern struct {
before_val_i128 = result; before_val_i128 = result;
} }
var dec: ?RocDec = null; const dec: RocDec = blk: {
if (before_val_i128) |before| { if (before_val_i128) |before| {
if (after_val_i128) |after| { if (after_val_i128) |after| {
var result: i128 = undefined; var result: i128 = undefined;
@ -106,22 +106,23 @@ pub const RocDec = extern struct {
if (overflowed) { if (overflowed) {
@panic("TODO runtime exception for overflow!"); @panic("TODO runtime exception for overflow!");
} }
dec = .{ .num = result }; break :blk .{ .num = result };
} else { } else {
dec = .{ .num = before }; break :blk .{ .num = before };
} }
} else if (after_val_i128) |after| { } else if (after_val_i128) |after| {
dec = .{ .num = after }; break :blk .{ .num = after };
} else {
return null;
} }
};
if (dec) |d| {
if (is_negative) { if (is_negative) {
dec = d.negate(); return dec.negate();
} } else {
}
return dec; return dec;
} }
}
pub fn toStr(self: RocDec) ?RocStr { pub fn toStr(self: RocDec) ?RocStr {
// Special case // Special case