bool CInclusionCriteriaMatcher::NestedTypesMatch() {

    CInheritance inheritanceTree;

 

    if (SUCCEEDED(inheritanceTree.Initialize(this->type, true/*fInherit*/))) {

        while (inheritanceTree.MoveNext()) {

            if (NestedTypesMatch(inheritanceTree.Current())) {

                return S_OK;

            }

        }

    }

 

    return false;

} 

Spot the bug?

In beautiful C++ land it's perfectl fine to implicitly convert an HRESULT to a bool.  Of course, S_OK gets converted to "false" so this function ends up doing... you guessed it... ABSOLUTELY NOTHING.

Sigh.  Anyways, the score currently stands at:

Stupid languages that allow bizarre narrowing conversions without warning you: -129

Great girls who program with you late at night and keep you productive even with crap like above: +infinity