Code is heuristically unreachable
What does this mean in contrast to "unreachable code detected"?
Solution 1:
Heuristically unreachable means possibly unreachable code. Unreachable code is certainly unreachable.
Solution 2:
Here's an example of ReSharper giving the cryptic "Heuristically unreachable code" warning:
It's an example of:
- ReSharper being way too smart for itself, because if you remove it the compiler will complain about a lack of a return statement
- Use of a word that is not common lexicon
Solution 3:
Say you're deleting 2 different kinds of objects in a unit test and you want to use a try/catch for both types.
If you delete one, and then check to see if it was successful without properly casting using:
Assert.IsNull(obj1);
The "IsNull" may always be null because you casted obj1 incorrectly, or did something above the greyed out code incorrectly with obj1, the next try/catch will be greyed out.
Try fixing the thing you're trying to Assert.IsNull and once it's not always null or undefined, the greyed out code will be reachable.