Rikki Gibson
Rikki Gibson
We recently explored the interaction between this feature and dotnet/roslyn#30194. An example of the interaction: ```cs // ClassLibrary1.csproj public struct S1 { private object x; } // ConsoleApp1.csproj (references ClassLibrary1.csproj)...
This feature will be available in preview in VS 17.3.
Yeah, structs are weird. The constructor takes an 'out' ref to a variable as an argument and the compiler is free to use refs to uninitialized variables as arguments or...
The compiler creates a temporary variable.
One important follow-up question is: what happens when a `file` type shadows an existing type with the same name. A major point of the feature is about avoiding name conflicts....
I think we would like to grow it into applying to members eventually. Here are some complications we found: - Should `file` by itself mean something like `file internal` (usable...
Renaming to "file types" because we felt "file-scoped types" sounded too much like "file-scoped namespaces".
We will probably rename again to "file-local" types after internal discussion, since we felt "file types" was not specific enough 😄
> Doing a lot of work to not say "fileprivate access modifier"? Yes, we are 😄. We think this feature is doing stuff that goes beyond just the concept of...
This warning might be occurring because the struct type is invariant. We could consider making tuples special--e.g. `(int[]?, int)` can convert to `(int[], int)` if the flow states are compatible....