Area-CompilersBugConcept-Diagnostic Clarityhelp wanted
Metriche repository
- Star
- (20.414 star)
- Metriche merge PR
- (Merge medio 6g 17h) (256 PR mergiate in 30 g)
Descrizione
We could add a new diagnostic to improve clarity:
error CS0023: Operator '!' cannot be applied to operand of type 'method group'
[Fact]
public void NegationUnaryOperatorOnTypelessExpressions()
{
string source = @"
class C
{
static void Main()
{
if (!Main || !null)
{
}
}
}";
var comp = CreateStandardCompilation(source, parseOptions: TestOptions.Regular7_1, options: TestOptions.DebugExe);
comp.VerifyDiagnostics(
// (6,13): error CS0023: Operator '!' cannot be applied to operand of type 'method group'
// if (!Main || !null)
Diagnostic(ErrorCode.ERR_BadUnaryOp, "!Main").WithArguments("!", "method group").WithLocation(6, 13),
// (6,22): error CS8310: Operator '!' cannot be applied to operand '<null>'
// if (!Main || !null)
Diagnostic(ErrorCode.ERR_BadOpOnNullOrDefault, "!null").WithArguments("!", "<null>").WithLocation(6, 22)
);
}
Relates to discussion https://github.com/dotnet/roslyn/pull/19870#discussion_r119425836