How to use functions defined in package extensions but not the main package?

in the extension:

f1(x) = 2*x

in the package:

function test_ext(x)
    ext_sym = :Pkg1Ext #the name of the extension
    ext = Base.get_extension(@__MODULE__(),ext_sym)
    if ext !== nothing
        return ext.f1(x)
    else
        throw_error("extension not loaded!")
    end
end

in your specific case:

dualize(t,x) = Base.get_extension(ForwardDiff,:ForwardDiffStaticArraysExt).dualize(t,x)
2 Likes