One of my methods returned nil pointer with type pb.Message. As it turned out reflection magic makes it "legit" interface pointer with 0 value. Nil check here happens to be valid.
There are 2 ways:
- Make sure that nobody returns nil messages.
- Make it actually work
I prefer 2nd solution and here is the fix,