@@ -98,23 +98,28 @@ inheritBaseMembers(
98
98
std::vector<SymbolID>& derived,
99
99
std::vector<SymbolID> const & base)
100
100
{
101
+ report::debug (" derivedID: {}" , toBase16Str (derivedId));
101
102
for (SymbolID const & otherID: base)
102
103
{
103
104
// Find the info from the base class
105
+ report::debug (" otherID: {}" , toBase16Str (otherID));
104
106
MRDOCS_CHECK_OR_CONTINUE (!contains (derived, otherID));
105
107
Info* otherInfoPtr = corpus_.find (otherID);
106
108
MRDOCS_CHECK_OR_CONTINUE (otherInfoPtr);
107
109
Info& otherInfo = *otherInfoPtr;
110
+ report::debug (" otherInfo: {}" , otherInfo.Name );
108
111
109
112
// Check if we're not attempt to copy a special member function
110
113
if (auto const * funcPtr = static_cast <FunctionInfo const *>(otherInfoPtr))
111
114
{
115
+ report::debug (" funcPtr" );
112
116
MRDOCS_CHECK_OR_CONTINUE (!is_one_of (
113
117
funcPtr->Class ,
114
118
{ FunctionClass::Constructor, FunctionClass::Destructor }));
115
119
}
116
120
117
121
// Check if derived class has a member that shadows the base member
122
+ report::debug (" find shadow" );
118
123
auto shadowIt = std::ranges::find_if (
119
124
derived,
120
125
[&](SymbolID const & id)
@@ -138,8 +143,10 @@ inheritBaseMembers(
138
143
MRDOCS_CHECK_OR_CONTINUE (shadowIt == derived.end ());
139
144
140
145
// Not a shadow, so inherit the base member
146
+ report::debug (" should copy?" );
141
147
if (!shouldCopy (corpus_.config , otherInfo))
142
148
{
149
+ report::debug (" should not copy" );
143
150
// When it's a dependency, we don't create a reference to
144
151
// the member because the reference would be invalid.
145
152
// The user can use `copy-dependencies` or `copy` to
@@ -153,6 +160,7 @@ inheritBaseMembers(
153
160
}
154
161
else
155
162
{
163
+ report::debug (" should copy" );
156
164
std::unique_ptr<Info> otherCopy =
157
165
visit (otherInfo, [&]<class T >(T const & other)
158
166
-> std::unique_ptr<Info>
0 commit comments