This test code can’t be compiled in Elements, which works in MS C# 6.0:
public abstract class TestEnumerator<T> : IEnumerator<T> {
public T Current => getCurrent();
// can't compile: opening parenthesis expected, got lambda
public object IEnumerator.Current => getCurrent();
protected abstract T getCurrent();
// unrelated methods
public void Dispose() {
throw new NotImplementedException();
}
public bool MoveNext() {
throw new NotImplementedException();
}
public void Reset() {
throw new NotImplementedException();
}
}