For user-defined macros you need to make use of Base.@__doc__ to mark the subexpression returned by your macro that should be documented. In this case it’s probably the Expr(:type, ...) that the docstring should be attached to rather than the subsequent method definitions.
So replacing the line https://github.com/andrewcooke/AutoHashEquals.jl/blob/e3e80dfb190a8f8932fcce1cbdc6e4bcf79ea520/src/AutoHashEquals.jl#L81 with Base.@__doc__($(esc(typ))) should be enough to allow documenting code generated via @auto_hash_equals. There should have been an error message that points to the docs for @__doc__, is that not showing up? It is available in v0.4 AFAIK. — Mike On Saturday, 31 October 2015 15:53:39 UTC+2, andrew cooke wrote: > > > I want to use the (relatively?) new docstrings, but have data structures > that look like: > > """This is MyType.""" > @auto_hash_equals type MyType > attribute::Something > end > > where the macro comes from > https://github.com/andrewcooke/AutoTypeParameters.jl > > unfortunately, this gives the error: LoadError: invalid doc expression (it > seems that the docstring is being "applied" to the macro call, not the data > type). > > and it's not clear to me what the best solution is. should i modify my > macros so that they can take a string, and then move the macro to before > the string? or is there something i can do that will make docstrings > understand that it should be applied after the macro? > > thanks, > andrew > > >
