Annex G (informative) Ill-formed, no diagnostic required [ifndr]

G.3 [basic]: Basics [ifndr.basic]

G.3.7[ifndr:basic.contract.vastart.contract.predicate]

The use of va_start ([cstdarg.syn]) within the predicate of a contract assertion is ill-formed, no diagnostic required.
[Example 1: void f(...) { va_list args; contract_assert((va_start(const_cast<decltype(args)>(args)), true)) // IFNDR } — end example]