-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Copy link
Labels
Area-CompilersFeature - Target-Typed New`new (args)` gets the created type inferred from context`new (args)` gets the created type inferred from context
Milestone
Description
using System;
public class C
{
public C(out int x) { x = 0; }
public void M()
{
Goo(new(out var x), x);
}
void Foo(C c, int x) { }
}
Message:
System.InvalidOperationException : concurrentTypeResolutions < 50
Stack Trace:
ThrowingTraceListener.Fail(String message, String detailMessage) line 26
TraceInternal.Fail(String message, String detailMessage)
Debug.Fail(String message, String detailMessage)
SourceLocalSymbol.get_TypeWithAnnotations() line 299
LocalSymbol.get_Type() line 73
Binder.BindNonMethod(SimpleNameSyntax node, Symbol symbol, BindingDiagnosticBag diagnostics, LookupResultKind resultKind, Boolean indexed, Boolean isError) line 2092
Binder.BindIdentifier(SimpleNameSyntax node, Boolean invoked, Boolean indexed, BindingDiagnosticBag diagnostics) line 1674
Binder.<BindExpressionInternal>g__bindExpressionInternal|349_0(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed) line 628
Binder.BindExpressionInternal(ExpressionSyntax node, BindingDiagnosticBag diagnostics, Boolean invoked, Boolean indexed) line 586
Binder.BindExpressionAllowArgList(ExpressionSyntax node, BindingDiagnosticBag diagnostics) line 561
<1013 more frames...>
MethodCompiler.CompileMethodBodies(CSharpCompilation compilation, PEModuleBuilder moduleBeingBuiltOpt, Boolean emittingPdb, Boolean hasDeclarationErrors, Boolean emitMethodBodies, BindingDiagnosticBag diagnostics, Predicate`1 filterOpt, CancellationToken cancellationToken) line 160
CSharpCompilation.GetDiagnosticsForAllMethodBodies(BindingDiagnosticBag diagnostics, Boolean doLowering, CancellationToken cancellationToken) line 3104
CSharpCompilation.GetDiagnosticsWithoutSeverityFiltering(CompilationStage stage, Boolean includeEarlierStages, BindingDiagnosticBag builder, Predicate`1 symbolFilter, CancellationToken cancellationToken) line 3076
CSharpCompilation.GetDiagnostics(CompilationStage stage, Boolean includeEarlierStages, DiagnosticBag diagnostics, Predicate`1 symbolFilter, CancellationToken cancellationToken) line 2987
CSharpCompilation.GetDiagnostics(CompilationStage stage, Boolean includeEarlierStages, Predicate`1 symbolFilter, CancellationToken cancellationToken) line 2975
CSharpCompilation.GetDiagnostics(CancellationToken cancellationToken) line 2969
DiagnosticExtensions.VerifyDiagnostics[TCompilation](TCompilation c, DiagnosticDescription[] expected) line 108
OutVarTests.TestUsedInImplicitObjectCreation() line 36579
RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Several other examples are in: #80517
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Area-CompilersFeature - Target-Typed New`new (args)` gets the created type inferred from context`new (args)` gets the created type inferred from context