Hacker News new | ask | show | jobs
by brandur 3507 days ago
I've also found (the hard way) that it's possible to mistype a conditional as `err == nil` when it should be `err != nil`. It's a really dumb mistake, but will waste time as you track it down (without the compiler's help).
1 comments

Not to mention forgetting to `return` nil, err. If you just type `nil, err`, you don't handle the error and nothing complains. Oops.
Is this a recent change? I've with 100% been bitten by this before, repeatedly, and the go compiler did nothing to warn about it.
Maybe for a side-effecting function which would only return an error?

edit: nope, fails with "err evaluated but not used".

I'm genuinely stumped. If they've fixed this, that's fantastic because I have absolutely shipped code with this bug to a production environment.
I've been working with Go for 4 years and I've not encountered it. Perhaps there was an edge case where it was allowed, but I don't recall it.