JuliaArrays / ArrayInterface.jl

Designs for new Base array interface primitives, used widely through scientific machine learning (SciML) and other organizations
https://docs.sciml.ai/ArrayInterface/stable/
MIT License
134 stars 37 forks source link

correct Requires usage to fix issues with PackageCompiler sysimages #387

Closed KristofferC closed 1 year ago

KristofferC commented 1 year ago

Basically, the rule for Requires to work with sysimages is that it should load no package non-relatively.

codecov[bot] commented 1 year ago

Codecov Report

Merging #387 (9bbde83) into master (0f7691c) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #387   +/-   ##
=======================================
  Coverage   79.25%   79.25%           
=======================================
  Files           7        7           
  Lines         535      535           
=======================================
  Hits          424      424           
  Misses        111      111           
Impacted Files Coverage Δ
ext/ArrayInterfaceBandedMatricesExt.jl 85.36% <ø> (ø)
ext/ArrayInterfaceBlockBandedMatricesExt.jl 82.89% <ø> (ø)
ext/ArrayInterfaceCUDAExt.jl 0.00% <ø> (ø)
ext/ArrayInterfaceGPUArraysCoreExt.jl 0.00% <ø> (ø)
ext/ArrayInterfaceStaticArraysCoreExt.jl 93.33% <ø> (ø)
ext/ArrayInterfaceTrackerExt.jl 40.00% <ø> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

KristofferC commented 1 year ago

So Adapt is not loaded in ArrayInterface which means the using ..Adapt for Requires doesn't work. I don't see a way to be relocatable for Requries with that setup. I put it back how things were for that specific extension though.

ChrisRackauckas commented 1 year ago

Adapt's stuff got upstreamed to Adapt.jl so that's fine.

KristofferC commented 1 year ago

But there is a function below using it?

ChrisRackauckas commented 1 year ago

🤦