Here it's clear that "NeverCalled" is never called so it's clear that Do is never assigned, so the Call can't produce anything useful.
EDIT: Ugh missed the lack of "static" on the NeverCalled. Never mind.
Is this too hard to decide with certainty in C because of how you could do some pointer gymnastics and just fiddle with the field without the compiler realizing, so in order not to spit out false positives, compilers just have to assume the author knows what he's doing and allow the suspected UB without warning?
I'm just used to higher level "safe" languages (Rust, C#, etc), where lack of assignment is usually determined with certainty.