Improve failing foreach reporting for struct and class aggregates

Should I, similarly for enums, add tip for `__traits(members)`?
In else branch, no error is reported but this `ForeachStatement::semantic` will return `ErrorStatement`. It is the reason of Auto-tester breaking.