Commit 62cb429
Declare documented public API with the public keyword
ArrayInterface exports nothing; all of its user-facing API is accessed via
`ArrayInterface.foo`. Downstream packages (SciMLStructures, NonlinearSolve, and
others) therefore have to maintain ExplicitImports non-public allow-lists for
names that are documented API but were never declared `public` (e.g.
SciMLStructures.jl#71 ignores `restructure` and `has_trivial_array_constructor`).
Declare every documented, ArrayInterface-owned API name (each carries a docstring
and appears in the docs/src/*.md API pages) with the `public` keyword so those
allow-lists can be dropped. The declaration is version-gated and `eval`'d because
`public` only parses on Julia 1.11+ while the package floor is 1.10.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 83d7bc9 commit 62cb429
1 file changed
Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
982 | 982 | | |
983 | 983 | | |
984 | 984 | | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
985 | 1016 | | |
0 commit comments