Have nullable types been changed?
this code should work since the null check should make client non nullable after but it doesn't. Client is still a nullable type after the check.
C#
var client = clients.Find(c => c?.id == id);
if (client is null)
return Button.None;
return client.inputQueue.Dequeue();.Find().
.First()client variable is a Button? because you declared it with varf is now not null, but the type remains unchanged.Find().First()Button?varfvar client = clients.Find(c => c?.id == id);
if (client is not SkibidiClient cl)
return Button.None;
return cl.inputQueue.Dequeue();Foo? f = MaybeFoo();
if (f is null) return;
DoStuff(f); // f is still a `Foo?`