diff --git a/Project.toml b/Project.toml index 7469ad4..5cbd7ec 100644 --- a/Project.toml +++ b/Project.toml @@ -8,6 +8,7 @@ julia = "1" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +SaferIntegers = "88634af6-177f-5301-88b8-7819386cfa38" [targets] -test = ["Test"] +test = ["Test", "SaferIntegers"] diff --git a/test/runtests.jl b/test/runtests.jl index 56d6fff..0e234d3 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -288,3 +288,16 @@ end @test @unchecked(1 + 4 + 5 + typemax(Int)) == 10 + typemax(Int) @test @checked(1.0 + 4 + 5 + typemax(Int)) == 9.223372036854776e18 end + +using SaferIntegers + +@testset "Ensure SaferIntegers are still safer" begin + @test_throws OverflowError typemax(SafeInt) + 1 + @test_throws OverflowError @unchecked typemax(SafeInt) + 1 + (@__MODULE__).eval(:( + module UncheckedDefaultSaferIntStillChecksModule + using OverflowContexts, SaferIntegers, Test + @default_unchecked + @test_throws OverflowError typemax(SafeInt) + 1 + end)) +end