Open tpapp opened 5 years ago
I haven't seen DocTestSetup = :(using Future)
being used before. Does using a quote
block change anything?
I copied that from other module docs, so I think it should be fine, also, when I remove both meta
blocks I still get the same error so I don't think it is related.
Will try to remove things line by line and isolate this, then report back here.
Maybe this is a bad interaction between the module Future
and the type Distributed.Future
?
I think it could be, since I can trigger this with an empty stdlib/Future/docs/src/index.md
.
Probably something like this happens:
julia> using Distributed
julia> using Future
julia> Vector{Future}()
ERROR: TypeError: in Type, in parameter, expected Type, got Module
Stacktrace:
[1] top-level scope at REPL[3]:1
At least that gives the same error message.
since I can trigger this with an empty
If that file exists it means we try to using
it here: https://github.com/JuliaLang/julia/blob/a6c7c1bdd6211380422bc9d0ab2d8eaf7a7c0def/doc/make.jl#L149
Is there a way to work around this? Eg make Documenter use a clean environment for each package?
Ok, the exact issue is that after the using
s, the Future
name in Main
refers to the module. That means that the ::Future
s in the type signatures in at-docs block of the Distributed page become nonsensical.
The solution is to replace all the ::Future
s with ::Distributed.Future
s. Also, a bunch of at-ref links need to be changed from [`Future`](@ref)
to [`Future`](@ref Distributed.Future)
(all on the src/manual/parallel-computing.md
page it seems).
It's not really a Documenter bug, other than that the error could be more helpful here (so I'd leave this open).
I am trying to get to the bottom of docs build errors with JuliaLang/julia/pull/31720. The stacktrace is
and I can't figure out the cause. I am not implying this is a bug in Documenter, but it may be.