Query no longer compiles in 8.8.8, did in 8.8.7
Hey Joe!
Hopefully this is an easy one or a me issue.
It seems something changed between 8.8.7 and 8.8.8, where a query that was making use of something from System.Linq
is now catching something from System.MemoryExtensions
instead. (The thing I noticed specifically is the Reverse<T>()
method, since the Linq one returns an enumerable while the memory extensions one operates in-place.)
The query doesn't specifically call out any using for System.MemoryExtensions
, but it seems that it's tokens are clobbering the System.Linq
ones. I don't see any way to opt out of that behavior, other than invoking the desired extension method explicitly.
Here's a screenshot with a small repro. 8.8.8 is on the left (with the 'fail to compile',) and 8.8.7 is on the right.
Thanks for all your awesome work!
Comments
Do you have C# preview features enabled?
Sounds like https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/first-class-span-types#calling-reverse-on-an-array
It compiles if preview disabled.