Skip to content

Commit c00103e

Browse files
Merge pull request #491 from ChrisRackauckas-Claude/declare-documented-api-public
Declare documented API public (unlock downstream ExplicitImports)
2 parents 83d7bc9 + 62cb429 commit c00103e

1 file changed

Lines changed: 31 additions & 0 deletions

File tree

src/ArrayInterface.jl

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,4 +982,35 @@ function has_trivial_array_constructor(::Type{T}, args...) where T
982982
applicable(convert, T, args...)
983983
end
984984

985+
# Declare the documented, user-facing API as `public` so downstream packages can
986+
# reference these names without ExplicitImports non-public allow-lists. The
987+
# `public` keyword only parses on Julia 1.11+, so the declaration is gated and
988+
# `eval`'d to keep the source loadable on the package's older compat floor.
989+
@static if VERSION >= v"1.11.0-DEV.469"
990+
eval(Expr(:public,
991+
# conversions
992+
:aos_to_soa, :promote_eltype, :restructure, :safevec,
993+
:has_trivial_array_constructor,
994+
# indexing traits
995+
:can_avx, :can_change_size, :can_setindex, :fast_scalar_indexing,
996+
:ismutable, :ndims_index, :ndims_shape, :defines_strides,
997+
:ensures_all_unique, :ensures_sorted, :indices_do_not_alias,
998+
:instances_do_not_alias, :device,
999+
# allowed indexing
1000+
:allowed_getindex, :allowed_setindex!,
1001+
# indexing type buffers
1002+
:ArrayIndex, :GetIndex, :SetIndex!,
1003+
# linear algebra
1004+
:zeromatrix, :undefmatrix, :issingular, :bunchkaufman_instance,
1005+
:cholesky_instance, :ldlt_instance, :lu_instance, :qr_instance,
1006+
:svd_instance,
1007+
# sparse arrays
1008+
:isstructured, :findstructralnz, :has_sparsestruct, :fast_matrix_colors,
1009+
:matrix_colors,
1010+
# wrapping
1011+
:is_forwarding_wrapper, :buffer, :parent_type,
1012+
# tuples
1013+
:flatten_tuples, :map_tuple_type))
1014+
end
1015+
9851016
end # module

0 commit comments

Comments
 (0)