dotnet/roslyn
Auf GitHub ansehenCodegen of System.Nullable `is null` check is poor
Open
#65.091 geöffnet am 28. Okt. 2022
4 - In ReviewArea-CompilersCode Gen QualityConcept-Design Debthelp wanted
Repository-Metriken
- Stars
- (20.414 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 6T 17h) (256 gemergte PRs in 30 T)
Beschreibung
Codegen of System.Nullable is null check is poor
void PoorCodegen(in int? v)
{
if (v is null)
return;
}
void GoodCodegen(in int? v)
{
if (!v.HasValue)
return;
}
void GoodCodegen2(in int? v)
{
if (v == null)
return;
}
In the pattern matching case there suddenly is a copy.