Skip to content

Nullability tracking is broken for Nullable<T> with awaits #76886

@stephentoub

Description

@stephentoub

Version Used:
Version 17.14.0 Preview 1.0 [35717.212.main]

Steps to Reproduce:

MyStruct? myStruct = await GetStructAsync();
MyStruct s1 = myStruct.Value;

static async Task<MyStruct?> GetStructAsync()
{
    await Task.Yield();
    return new MyStruct();
}

struct MyStruct { }

Diagnostic Id:

n/a

Expected Behavior:
This should produce warning CS8629: Nullable value type may be null. when accessing .Value.

Actual Behavior:
No warning.

Metadata

Metadata

Assignees

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions