Internal compiler crash when compiler diagnostic CS0103 is expected #73813
Labels
Area-Compilers
Resolution-Duplicate
The described behavior is tracked in another issue
untriaged
Issues and PRs which have not yet been triaged by a lead
Version Used:
.NET SDK:
Version: 8.0.300
Commit: 326f6e68b2
Workload version: 8.0.300-manifests.4e5ea2d8
MSBuild version: 17.10.4+10fbfbf2e
Runtime Environment:
OS Name: Windows
OS Version: 10.0.19045
OS Platform: Windows
RID: win-x64
Base Path: C:\Program Files\dotnet\sdk\8.0.300\
Steps to Reproduce:
dotnet new console
to create a fresh project.var elems = (path is not null ? [new Tuple<string>(path)] : Enumerable.Empty<Tuple<string>>());
dotnet build
and observe enormous internal compiler callstack.Interestingly, if I remove the
new Tuple<string>
aspect, I get the desired effect:var elems = (path is not null ? [path] : Enumerable.Empty<string>());
does not crash, but yields the desired CS0103 diagnostic. It also does not have to beTuple
that is used; I originally identified the problem using a record type specific to a separate project. The null check does appear to be required. Naturally, definingpath
to be astring?
with some value causes the program to compile successfully.Diagnostic Id:
None, since the compiler crashes, but CS0103 would be expected.
Expected Behavior:
The expectation is that since
path
is not defined anywhere that we would receiveerror CS0103: The name 'path' does not exist in the current context
.Actual Behavior:
113 errors from a giant callstack:
The text was updated successfully, but these errors were encountered: