Skip to content

Mark adapt_structure and adapt_storage public#115

Merged
maleadt merged 1 commit into
JuliaGPU:mainfrom
ChrisRackauckas-Claude:public-adapt-extension-points
Jun 24, 2026
Merged

Mark adapt_structure and adapt_storage public#115
maleadt merged 1 commit into
JuliaGPU:mainfrom
ChrisRackauckas-Claude:public-adapt-extension-points

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

adapt_structure and adapt_storage are the documented extension points downstream packages overload (the adapt docstring and the README both say to "implement methods of adapt_structure and adapt_storage"), but they're neither exported nor marked public. Tooling that checks public-API usage (e.g. ExplicitImports.jl, increasingly run in SciML/JuliaGPU test suites) therefore flags every Adapt.adapt_structure override as a non-public access, forcing per-repo ignore-lists across the ecosystem.

This marks both names public via eval(Expr(:public, ...)) guarded on VERSION >= v"1.11" so the file still parses on Adapt's Julia 1.10 floor. No new dependency and no behavior change.

Verified: Base.ispublic(Adapt, :adapt_structure) == true (and adapt_storage) on 1.12; loads cleanly on the 1.10 LTS; full test suite passes; Runic-clean. version 4.6.1 → 4.7.0.

These are the documented extension points downstream packages overload (per the
`adapt` docstring and README: "implement methods of `adapt_structure` and
`adapt_storage`"), but they were neither exported nor marked public, so tooling
that checks public-API usage (e.g. ExplicitImports.jl, increasingly used in
SciML/JuliaGPU test suites) flags every `Adapt.adapt_structure` override as a
non-public access. Mark them public via `eval(Expr(:public, ...))` guarded on
VERSION >= 1.11 so the file still parses on the 1.10 floor. No new dependency.
version 4.6.1 -> 4.7.0.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maleadt maleadt merged commit e654c48 into JuliaGPU:main Jun 24, 2026
20 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants