@@ -98,23 +98,28 @@ inheritBaseMembers(
9898 std::vector<SymbolID>& derived,
9999 std::vector<SymbolID> const & base)
100100{
101+ report::debug (" derivedID: {}" , toBase16Str (derivedId));
101102 for (SymbolID const & otherID: base)
102103 {
103104 // Find the info from the base class
105+ report::debug (" otherID: {}" , toBase16Str (otherID));
104106 MRDOCS_CHECK_OR_CONTINUE (!contains (derived, otherID));
105107 Info* otherInfoPtr = corpus_.find (otherID);
106108 MRDOCS_CHECK_OR_CONTINUE (otherInfoPtr);
107109 Info& otherInfo = *otherInfoPtr;
110+ report::debug (" otherInfo: {}" , otherInfo.Name );
108111
109112 // Check if we're not attempt to copy a special member function
110113 if (auto const * funcPtr = static_cast <FunctionInfo const *>(otherInfoPtr))
111114 {
115+ report::debug (" funcPtr" );
112116 MRDOCS_CHECK_OR_CONTINUE (!is_one_of (
113117 funcPtr->Class ,
114118 { FunctionClass::Constructor, FunctionClass::Destructor }));
115119 }
116120
117121 // Check if derived class has a member that shadows the base member
122+ report::debug (" find shadow" );
118123 auto shadowIt = std::ranges::find_if (
119124 derived,
120125 [&](SymbolID const & id)
@@ -138,8 +143,10 @@ inheritBaseMembers(
138143 MRDOCS_CHECK_OR_CONTINUE (shadowIt == derived.end ());
139144
140145 // Not a shadow, so inherit the base member
146+ report::debug (" should copy?" );
141147 if (!shouldCopy (corpus_.config , otherInfo))
142148 {
149+ report::debug (" should not copy" );
143150 // When it's a dependency, we don't create a reference to
144151 // the member because the reference would be invalid.
145152 // The user can use `copy-dependencies` or `copy` to
@@ -153,6 +160,7 @@ inheritBaseMembers(
153160 }
154161 else
155162 {
163+ report::debug (" should copy" );
156164 std::unique_ptr<Info> otherCopy =
157165 visit (otherInfo, [&]<class T >(T const & other)
158166 -> std::unique_ptr<Info>
0 commit comments