Invalid Code
public class Iterator<G> {
public G? next_value (string test) {
return null;
}
}
public class Test<G> {
public Iterator<G> iterator () {
return new Iterator<G> ();
}
}
void main () {
Test<string?> test = null;
foreach (var t in test) {
}
}