meetings/2024/LDM-2024-10-09.md
Champion issue: https://github.com/dotnet/csharplang/issues/5497
Related: https://github.com/dotnet/csharplang/blob/d5b8e7808998024e4aa6b380acdccac30aa03b60/proposals/extensions_v2.md, https://github.com/dotnet/csharplang/blob/1e8255a438517bc3ad067c726c28cfa20cb60f1e/meetings/working-groups/extensions/Compatibility%20through%20coexistence%20between%20extension%20types%20and%20extension%20methods.md
Coming back from last time, we wanted to explore different compatibility stories for extensions, and look at what a member-based syntax would look like.
We spent the first half of the meeting listening to presentations about the 2 different explorations that came from this; the first exploration is maximally binary compatible, using a
member-based for syntax that enables all current extension methods to move to a newer form while still being 100% binary compatible with their existing form. The second proposal we
went over was how interop would work in a world where we don't do this, and instead say that existing extension methods are here to stay, forever; the new way is the new way, and if a
user wants perfect binary compat, the only way they get it is through keeping their existing methods as they are.
We came up with a few concerns for each proposal through discussion in the second half.
We didn't come to any conclusions today, so we'll be back again with more extensions in the future.