-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
Milestone
Description
One scenario in particular should work: from item in list where item is not null should result in a collection of not-null items. Reported a few times (including here).
Look for references to this issue in the code, such as NullableWalker.VisitQueryClause
Also replaced some PROTOTYPE markers with a reference to this issue:
// https://github.com/dotnet/roslyn/issues/29863 Record in the node whether type
// arguments were implicit, to allow for cases where the syntax is not an
// invocation (such as a synthesized call from a query interpretation).
private static bool HasImplicitTypeArguments(BoundExpression node)
{
var syntax = node.Syntax;
if (syntax.Kind() != SyntaxKind.InvocationExpression)
{
// Unexpected syntax kind.
return false;
}
var nameSyntax = Binder.GetNameSyntax(((InvocationExpressionSyntax)syntax).Expression, out var _);
if (nameSyntax == null)
{
// Unexpected syntax kind.
return false;
}
nameSyntax = nameSyntax.GetUnqualifiedName();
return nameSyntax.Kind() != SyntaxKind.GenericName;
}
public override BoundNode VisitRangeVariable(BoundRangeVariable node)
{
var result = base.VisitRangeVariable(node);
SetResult(node); // PROTOTYPE(NullableReferenceTypes)
return result;
}This was also reported here.
Reactions are currently unavailable