https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109065
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- The problem is that r11-5825 assumes that if a type is dependent, its TYPE_MAIN_VARIANT and TYPE_CANONICAL are also dependent, which is not universally true: DataAlias<T> is dependent, so that any errors from substituting into the template-id are caught; but its TYPE_MAIN_VARIANT and TYPE_CANONICAL are int, which is not.