Repository navigation
v62.0.4
Give the legacy enumeration bridges bodies and emit them once (#2879)
Bugs fixed:
- The synthesized IEnumerable.GetEnumerator and IEnumerator.Current
returned null, so no ghul type could be enumerated through the legacy
interfaces - A class inheriting the implementation from its base re-emitted the
bridge and an override row for an interface it does not declare, which
ILLink rejects
Technical:
- A bridge forwards to the generic member, virtually on a class so an
override is reached, directly on a struct, boxing a value-type or
type-parameter current - A generator frame has no symbols for its members, so the walk records
its own GetEnumerator and get_Current handles as it writes them
Co-authored-by: ghul-coder[bot] <286450068+ghul-coder[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 noreply@anthropic.com