explicit Error(char const* fmt, ...) __attribute__((format(printf,2,3)))
This raises cpp:FunctionEllipsis which states: “Passing arguments via an ellipsis bypasses the type checking performed by the compiler”. This is obviously true without that attribute, but arguably not so much with the attribute. Don’t you think that the rule should evolve here? I’d say that you can speak of “format” attribute in the text of the rule, and an exception in its application.