Invalid Code
void main () {
Test test;
foreach (var t in test) {
}
}
public class Test<G> {
public Iterator<G> iterator () {
return new Iterator<G> ();
}
}
public class Iterator<G> {
public bool next () {
return true;
}
public G get (int arg) {
return (G)null;
}
}