csharplang
csharplang copied to clipboard
[Proposal]: Better Conversion from Collection Expression (VS 17.12, .NET 9)
Better conversion from collection expression
- [x] Proposed
- [ ] Prototype: Not Started
- [ ] Implementation: Not Started
- [x] Specification: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-13.0/collection-expressions-better-conversion.md
Summary
Updates to the better conversion rules to be more consistent with params, and better handle current ambiguity scenarios. For example, ReadOnlySpan<string> vs ReadOnlySpan<object> can currently cause ambiguities during overload resolution for [""]. This is an issue because .NET 9 is adding such methods to string.Concat, which we need to address in the language.
Design meetings
- Jul 17, 2024: Ambiguity between
ReadOnlySpan<T>overloads - Jul 24, 2024: Narrow fix versus recursive approach
- Aug 19, 2024: Preferring element type
- Aug 21, 2024: Review, prefering span types
- Sep 11, 2024: Review