facebookexperimental/object-introspection

Containers with no template parameters break

Opened this issue · 0 comments

Containers with no template parameters are successfully found by OICodeGen::isContainer but not found by TreeBuilder::isContainer. This is because TreeBuilder relies on containerTypeMap (containerTypeMapDrgn in OICodeGen) which is only inserted to by OICodeGen::enumerateTemplateParamIdxs.

The naïve fix of inserting an empty vector into the map in OICodeGen::getContainerInfo does not work as it then gets skipped in OICodeGen::enumerateTemplateParamIdxs. Making it a std::optional also didn't work for reasons unknown. The final step of Typed TreeBuilder (#95) is going to fix this for free, so I don't intend to spend any more time on it for now.