Comments (6)
Ok I probably found the problem, looks like a sneaky broadcast:
julia> sig = (Tuple{G} where G)
Tuple{G} where G
julia> Base.rewrap_unionall.(DocStringExtensions.uniontypes(Base.unwrap_unionall(sig)), sig)
1-element Vector{DataType}:
Tuple{G}
julia> Base.rewrap_unionall.(DocStringExtensions.uniontypes(Base.unwrap_unionall(sig)), Ref(sig))
1-element Vector{UnionAll}:
Tuple{G} where G
I'll check how much this breaks all the other stuff and send a patch. :]
from docstringextensions.jl.
What kind of output are you getting when using ?
mode in the REPL? Are the templates showing up there?
from docstringextensions.jl.
Yes, but only for one solver. The signature is only given for the first method when using ?
after using Krylov
.
from docstringextensions.jl.
Hi! Reviving this issue-- I see the same problem with TYPEDSIGNATURES
in PikaParser package here. Missing signatures can be seen e.g. here:
https://lcsb-biocore.github.io/PikaParser.jl/dev/reference/#PikaParser.followed_by-Tuple{G}%20where%20G
and here
https://lcsb-biocore.github.io/PikaParser.jl/dev/reference/#PikaParser.parse_lex-Union{Tuple{I},%20Tuple{T},%20Tuple{G},%20Tuple{PikaParser.Grammar{G,%20T},%20I}}%20where%20{G,%20T,%20I}
Quite surprisingly, a different set of signatures is missing (lex
instead of parse_lex
) when I build the same docs from the same source locally.
Regarding this:
What kind of output are you getting when using
?
mode in the REPL? Are the templates showing up there?
No, the missing signatures are not present even in REPL.
from docstringextensions.jl.
...turns out methodgroups
might be to blame, this is from a quick debug:
┌ Info: in format(::TypedMethodSignatures, ...)
│ binding = PikaParser.some
│ typesig = Tuple{G} where G
│ modname = PikaParser
│ func = some (generic function with 1 method)
└ groups = Vector{Method}[]
🙄
from docstringextensions.jl.
looks like in some cases the unionall is missing in typesigs
in methodgroups
, which breaks the in typesigs
check:
┌ Info: in methodgroups
│ typesigs =
│ 1-element Vector{Any}:
└ Tuple{G}
┌ Info: in methodgroups filter
│ m = some(x::G) where G in PikaParser at /home/exa/work/PikaParser.jl/src/frontend.jl:134
│ ismod = true
│ m.sig = Tuple{typeof(PikaParser.some), G} where G
└ Base.rewrap_unionall(Base.tuple_type_tail(m.sig), m.sig) = Tuple{G} where G
┌ Info: in format(::TypedMethodSignatures, ...)
│ binding = PikaParser.some
│ typesig = Tuple{G} where G
│ modname = PikaParser
│ func = some (generic function with 1 method)
└ groups = Vector{Method}[]
from docstringextensions.jl.
Related Issues (20)
- MODULES key not found for `@template` HOT 1
- Doctest failures
- Format docstrings HOT 4
- Considering writing a script to add function signatures to a code base. HOT 5
- Examples of how to use all of the functionality HOT 5
- expected test failure from the incoming `Core.Compiler` changes HOT 3
- Cannot get source for generated functions
- feature request: non-api doc marker HOT 7
- How to show default values and types of keyword arguments? HOT 1
- Update docs to latest version of Documenter HOT 5
- different abbreviations for concrete and abstract types HOT 1
- FUNCTIONNAME inside a function that generates the docstring HOT 7
- Would it be possible to add a TYPEDMETHODLIST abbreviation HOT 2
- Internal errors when (ab)using `@template` HOT 1
- New SUBTYPES exported key
- FIELDS / TYPEDFIELDS fail on const fields of mutable struct HOT 1
- TYPEDSIGNATURES error with @generated functions HOT 3
- Feature request: option to override template in specific case HOT 4
- Feature request: TYPEDSIGNATURES without output type HOT 1
- Format for all docstrings for a particular function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docstringextensions.jl.