typedef A = ( int i, const int c, ); typedef Deep = ( A a, const A ca, (int xx) x, ((A yyy)#[1] yy)#[1] y, ); int constglobal = 0; var int varglobal; A conststructglobal = (0, 0); var A semiconstglobal = (0, 0); var Deep deepvarglobal; Deep deepconstglobal; () test() { int constlocal; A conststructlocal; var A semiconstlocal; Deep deepconstlocal; var Deep deepvarlocal; /* ERRORS */ constlocal = 1; constglobal = 1; conststructglobal.i = 1; conststructglobal.c = 1; conststructlocal.c = 1; conststructlocal.i = 1; semiconstglobal.c = 1; semiconstlocal.c = 1; /* ERRORS */ deepvarglobal.a.c = 1; deepvarglobal.ca.i = 1; deepvarglobal.ca.c = 1; deepvarglobal.va.c = 1; deepvarglobal.cb.i = 1; /* ERRORS */ deepvarlocal.a.c = 1; deepvarlocal.ca.i = 1; deepvarlocal.ca.c = 1; deepvarlocal.y#[0].yy#[0].yyy.c = 1; /* ERRORS */ deepconstglobal.a.i = 1; deepconstglobal.a.c = 1; deepconstglobal.ca.i = 1; deepconstglobal.ca.c = 1; deepconstglobal.y#[0].yy#[0].yyy.i = 1; deepconstglobal.y#[0].yy#[0].yyy.c = 1; /* ERRORS */ deepconstlocal.a.i = 1; deepconstlocal.a.c = 1; deepconstlocal.ca.i = 1; deepconstlocal.ca.c = 1; deepconstlocal.y#[0].yy#[0].yyy.i = 1; deepconstlocal.y#[0].yy#[0].yyy.c = 1; var int? opt; /* ERRORS not valid l-values */ opt? = 1; (1 + 1 as int) = 2; test = test; }