Aqua.test_ambiguities
— Functiontest_ambiguities(package::Union{Module, PkgId})
-test_ambiguities(packages::Vector{Union{Module, PkgId}})
Test that there is no method ambiguities in given package(s). It calls Test.detect_ambiguities
in a separated clean process to avoid false-positives.
Keyword Arguments
broken::Bool = false
: If true, it uses@test_broken
instead of@test
and shortens the error message.color::Union{Bool, Nothing} = nothing
: Enable/disable colorful output if aBool
.nothing
(default) means to inherit the setting in the current process.exclude::AbstractVector = []
: A vector of functions or types to be excluded from ambiguity testing. A function means to exclude all its methods. A type means to exclude all its methods of the callable (sometimes also called "functor") and the constructor. That is to say,MyModule.MyType
means to ignore ambiguities between(::MyType)(x, y::Int)
and(::MyType)(x::Int, y)
.recursive::Bool = true
: Passed toTest.detect_ambiguities
. Note that the default here (true
) is different fromdetect_ambiguities
. This is for testing ambiguities in methods defined in all sub-modules.- Other keyword arguments such as
imported
andambiguous_bottom
are passed toTest.detect_ambiguities
as-is.