Go's race detector has a mutex blind spot
doublefree.dev2 pointsby CodeBrad0 comments
int global;
void foo() {
int local;
if (complex_condition)
bar(&local);
else
bar(&global);
}
And assume maybe somewhere way down the call chain the data passed to bar is modified. The bar function and all of the functions called in bar can have 100% test coverage, but if the else branch is not covered, the race will be missed.
Glad to see it converted to a blog post. Talks are great, but blogs are much easier to share and reference.