Why in code like below is the .NET compiler not able to establish that all code paths do return a value?
bool Test(bool param) { bool test = true; if
This just represents the limitations in how smart the compiler is with regard to what gets initialized and which lines will be executed.
I run into this from time to time. But it's very seldom that it's a problem. I would normally just restructure the code a little.