public void NoSequencesUsedBeforeIteration() { var first = new ThrowingEnumerable(); var second = new ThrowingEnumerable(); // No exceptions! var query = first.Intersect(second); // Still no exceptions... we're not calling MoveNext. using (var iterator = query.GetEnumerator()) { } }