JuliaSIMD / VectorizationBase.jl

Base library providing vectorization-tools (ie, SIMD) that other libraries are built off of.
MIT License
66 stars 30 forks source link

Piracy test failures #111

Open grahamas opened 2 months ago

grahamas commented 2 months ago

Piracy test fails. I'm going to try moving relevant methods to LayoutPointers.jl.

Julia Version 1.11.0-beta1
Commit 08e1fc0abb9 (2024-04-10 08:40 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      "Arch Linux"
  uname: Linux 6.8.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 02 May 2024 17:49:46 +0000 x86_64 unknown
  CPU: AMD Ryzen 9 5900HS with Radeon Graphics: 
                 speed         user         nice          sys         idle          irq
       #1-16  4108 MHz      65823 s       1938 s      12104 s     783582 s          1 s
  Memory: 15.033687591552734 GB (9605.41015625 MB free)
  Uptime: 5432.16 sec
  Load Avg:  0.71  0.53  0.81
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, znver3)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)
Environment:
  JULIA_LOAD_PATH = @:/tmp/jl_4bR5Ed
  HOME = /home/graham
  WINDOWPATH = 2
  PATH = /home/graham/.local/bin:/usr/bin:/usr/condabin:/usr/local/bin:/usr/bin:/usr/local/sbin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
  TERM = xterm-256color
Aqua.test_all
Skipping Base.active_repl
Skipping Base.active_repl_backend
Skipping Base.cwstring
Possible type-piracy detected:
[1] !=(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[2] !=(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[3] !=(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[4] <(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[5] <(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[6] <(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[7] <=(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[8] <=(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[9] <=(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[10] ==(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[11] ==(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[12] ==(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[13] >(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[14] >(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[15] >(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[16] >=(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599
[17] >=(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595
[18] >=(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597
[19] fma(a::StaticInt{0}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:415
[20] fma(a::StaticInt{0}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:413
[21] fma(a::StaticInt{0}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:400
[22] fma(a::StaticInt{0}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:402
[23] fma(a::StaticInt{0}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:404
[24] fma(a::StaticInt{0}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:411
[25] fma(a::StaticInt{1}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:414
[26] fma(a::StaticInt{1}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:419
[27] fma(a::StaticInt{1}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:408
[28] fma(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:406
[29] fma(a::StaticInt{1}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:403
[30] fma(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:417
[31] fma(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:401
[32] fma(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:407
[33] fma(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:410
[34] fma(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:412
[35] fma(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:418
[36] muladd(a::StaticInt{0}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:415
[37] muladd(a::StaticInt{0}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:413
[38] muladd(a::StaticInt{0}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:400
[39] muladd(a::StaticInt{0}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:402
[40] muladd(a::StaticInt{0}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:404
[41] muladd(a::StaticInt{0}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:411
[42] muladd(a::StaticInt{1}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:414
[43] muladd(a::StaticInt{1}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:419
[44] muladd(a::StaticInt{1}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:408
[45] muladd(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:406
[46] muladd(a::StaticInt{1}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:403
[47] muladd(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:417
[48] muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:401
[49] muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:407
[50] muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:410
[51] muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:412
[52] muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:418
[53] promote_rule(::Type{Bit}, ::Type{T}) where T<:Number @ VectorizationBase ~/git/VectorizationBase.jl/src/promotion.jl:111
Piracy: Test Failed at /home/graham/.julia/packages/Aqua/tHrmY/src/piracies.jl:240
  Expression: isempty(v)
   Evaluated: isempty(Method[!=(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599, !=(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595, !=(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597, <(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599, <(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597, <(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595, <=(p1::P, p2::P) where P<:StridedBitPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:597, <=(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599, <=(p1::P, p2::P) where P<:AbstractStridedPointer @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:595, ==(p1::P, p2::P) where P<:FastRange @ VectorizationBase ~/git/VectorizationBase.jl/src/strided_pointers/stridedpointers.jl:599  …  muladd(a::StaticInt{1}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:408, muladd(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:406, muladd(a::StaticInt{1}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:403, muladd(a::StaticInt{1}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:417, muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:401, muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:407, muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:410, muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{0}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:412, muladd(a::Union{Bool, Float16, Float32, Float64, Int16, Int32, Int64, Int8, UInt16, UInt32, UInt64, UInt8, Bit, StaticInt, VectorizationBase.AbstractSIMD}, b::StaticInt{1}, c::StaticInt{0}) @ VectorizationBase ~/git/VectorizationBase.jl/src/base_defs.jl:418, promote_rule(::Type{Bit}, ::Type{T}) where T<:Number @ VectorizationBase ~/git/VectorizationBase.jl/src/promotion.jl:111])

Stacktrace:
 [1] macro expansion
   @ ~/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:679 [inlined]
 [2] test_piracies(m::Module; broken::Bool, kwargs::@Kwargs{})
   @ Aqua ~/.julia/packages/Aqua/tHrmY/src/piracies.jl:240
 [3] test_piracies
   @ ~/.julia/packages/Aqua/tHrmY/src/piracies.jl:217 [inlined]
 [4] macro expansion
   @ ~/.julia/packages/Aqua/tHrmY/src/Aqua.jl:100 [inlined]
 [5] macro expansion
   @ ~/.julia/juliaup/julia-1.11.0-beta1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
 [6] test_all(testtarget::Module; ambiguities::Bool, unbound_args::Bool, undefined_exports::Bool, project_extras::Bool, stale_deps::Bool, deps_compat::Bool, piracies::Bool, persistent_tasks::Bool)
   @ Aqua ~/.julia/packages/Aqua/tHrmY/src/Aqua.jl:99
Aqua took 20.257201104 seconds
grahamas commented 2 months ago

The comparisons 1-18 (those defined in stridedpointers.jl) can pretty easily be moved to LayoutPointers.jl, but the remainder (defined in base_defs.jl) don't have a natural home. The functions belong to Base, so obviously that's a no-go. The types belong to Static.jl and SIMDTypes.jl, but those don't really feel like a appropriate places to be defining new methods since they're explicitly about just providing types (though these method definitions do seem pretty universal; e.g. fma(Zero, One, Zero) = Zero).

I'm thinking the solution should be to override the VB-owned analogues instead, e.g. define vfma(Zero, One, Zero) = Zero. I haven't read enough to see why that wasn't done originally, though, so I'll hold off on that change for now.

chriselrod commented 2 months ago

The functions belong to Base, so obviously that's a no-go. The types belong to Static.jl and SIMDTypes.jl, but those don't really feel like a appropriate places to be defining new methods since they're explicitly about just providing types (though these method definitions do seem pretty universal; e.g. fma(Zero, One, Zero) = Zero).

Yeah, they could go to Static and SIMDTypes.

You're more than welcome to work on this, but because these aren't a correctness issue, it is also reasonable to turn the piracy tests off IMO.

You don't want those that don't own types defining methods, but the JuliaSIMD owns them, and it is organized at the org level, not the package level. Changing the organization at the package level is fine --- I'm just saying it isn't a priority and isn't expected to cause any real problems.