dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.15k stars 4.71k forks source link

Placeholder for nullability annotation workarounds #36132

Open GrabYourPitchforks opened 4 years ago

GrabYourPitchforks commented 4 years ago

We have some places in the code base where we're currently using pragmas to work around edge cases in the language's support for nullability annotations. This is a tracking issue for those pragmas to link to.

The language team is discussing how best to address these edge cases. Once those changes come online and a new compiler is available, we can remove our pragmas.

danmoseley commented 4 years ago

We have 2 hits remaining, both like

                    // https://github.com/dotnet/runtime/issues/36132
                    // Compiler can't automatically deduce that nullability constraints
                    // for 'result' are satisfied at this exit point.

Is there a 5.0 work item against Roslyn for these? If not, please let's move to Future now.

ericstj commented 4 years ago

@GrabYourPitchforks @jeffhandley if there is any work you're expecting to happen for 5.0 feel free to move this back. Based on my read it doesn't meet the bar (unless we think there be risk behind them pragmas).

jeffhandley commented 4 years ago

@ericstj Thanks, I agree. 6.0.0 is fine.

krwq commented 3 years ago

@hrrrrustic @GrabYourPitchforks there is still one hit of this in ConcurrentBag. I'm not sure if there is any Roslyn issue tracking this. Please link if possible. Meanwhile, moving to Future