Skip to content

Inherited members from implementation-detail base classes lose their documentation #1107

Description

@alandefreitas

When a public type inherits from a base class inside a hidden namespace (like detail), MrDocs shows the inherited members but drops their documentation.

For instance, in

namespace detail {
struct T {
    /// Do the thing
    void do_it();
};
}

struct U : detail::T {};

U correctly shows do_it() as inherited but the documentation “Do the thing” is missing.

Another example is https://develop.buffers.cpp.al/buffers/reference/boost/buffers/const_buffer.html

We are extracting the base classes (even inside hidden namespaces according to rules for base classes because they're inherited), and we are already attaching their members to the derived interface. But the comments from the base class are not being carried over.

Inherited members should always bring their documentation with them, regardless of where the base class lives or whether it’s shown in the reference tree.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions