I am wondering why void() is a prvalue of void but void{} does not exist...? See the following answer: https://stackoverflow.com/a/377
void()
void
void{}
CWG 2351, resolved in June, has made void{} legal.