OK.
(*) Note that, depending on how it's called, the predicate can currently produce errors anyway, for example because it calls complete_type. This may or may not be all there is to c++/57942.
It looks like lookup_base seems to deliberately avoid trying to complete the base, so the call to complete_type is coming from elsewhere.
Jason