if(auto[ok,d]=f())// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}}
;
if(auto[ok,d]=g())// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}} expected-error {{value of type 'Na' is not contextually convertible to 'bool'}}
while(auto[ok,d]=f())// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}}
;
while(auto[ok,d]=g())// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}} expected-error {{value of type 'Na' is not contextually convertible to 'bool'}}
for(;auto[ok,d]=f();)// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}}
;
for(;auto[ok,d]=g();)// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}} expected-error {{value of type 'Na' is not contextually convertible to 'bool'}}
switch(auto[ok,d]=x)// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}}
;
switch(auto[ok,d]=g())// expected-warning {{ISO C++17 does not permit structured binding declaration in a condition}} expected-error {{statement requires expression of integer type ('Na' invalid)}}