1struct Term { };
2struct Boolean : Term {
3  explicit Boolean(bool);
4};
5struct IsZero : Term {
6  Term *eval();
7};
8Term*
9IsZero::eval()
10{
11  return true ? new Boolean(false) : this; // { dg-error "conditional expression" }
12}
13