spf13 / cast

safe and easy casting from one type to another in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Replace errNegativeNotAllowed with overflow error

sagikazarmark opened this issue · comments

Technically, the following is valid:

var i int64 = -1
j := uint64(i)

The value will overflow, but the conversion happens.

We should replace the errNegativeNotAllowed error with one that signals that the conversion was successful, but an overflow occurred.

Combining this idea with #86, it might even make sense to have a single base error.