dotnet/roslyn
View on GitHubConfusing error when assigning result of ref readonly-returning method to a ref local
Open
#28,653 opened on Jul 18, 2018
Area-CompilersBugConcept-Diagnostic Clarityhelp wanted
Description
Version Used: 2.8.2; master from 14 July 2018 (c4189de08b943f87d9f03d45ef01e615800e359d)
Steps to Reproduce:
Try to assign the result of a ref readonly-returning method to a non-readonly ref local:
class C
{
void M()
{
ref int x = ref Bar();
}
ref readonly int Bar() => throw null;
}
Actual Behavior:
error CS8329: Cannot use method 'C.Bar()' as a ref or out value because it is a readonly variable
I think this is not a good error message because:
- It's not correct: method is not a variable.
- It does not explain well what the error is and how to fix it.