DocStringExtensions.jl icon indicating copy to clipboard operation
DocStringExtensions.jl copied to clipboard

FIELDS / TYPEDFIELDS fail on const fields of mutable struct

Open i9e1 opened this issue 2 years ago • 3 comments

Since v"1.8.0" its possible to annotate a mutable struct's field with the const keyword.

If you do, DocStringExtensions FIELDS, TYPEDFIELDS fail: docstrings are only parsed for mutable fields. Here is a MWE tested with julia v"1.9.2" and DocStringExtenions v"0.9.3".

julia> """Minimal Working Example to demonstrate `const` keyword on mutable struct with fields $(FIELDS) and typed $(TYPEDFIELDS)"""
       mutable struct MWE
           "This is not shown"
           const a::Real
           "This works as it should"
           b::Real
       end;

julia>

help?> MWE
search: MWE

  Minimal Working Example to demonstrate const keyword on mutable struct with fields

    •  a

    •  b: This works as it should

  and typed

    •  a::Real

    •  b::Real: This works as it should

i9e1 avatar Aug 22 '23 15:08 i9e1

This is an upstream issue from what I can tell:

julia> """Minimal Working Example to demonstrate `const` keyword on mutable struct with fields"""
              mutable struct MWE
                  "This is not shown"
                  const a::Real
                  "This works as it should"
                  b::Real
              end;

help?> MWE.a
  MWE has fields a, and b.

help?> MWE.b
  This works as it should

MWE.a should give the attached docs, just like MWE.b does. It doesn't. We can't fix anything in DocStringExtensions.jl until that issue is fixed.

MichaelHatherly avatar Aug 22 '23 15:08 MichaelHatherly

Has an issue been opened on https://github.com/JuliaLang/julia/issues regarding this, that I can track?

mmider avatar Sep 03 '24 14:09 mmider

@i9e1 did you open one?

MichaelHatherly avatar Sep 09 '24 09:09 MichaelHatherly