Background ("PEP 572 and decision-making in Python"):
replies(2):
yeah, if you code on 20 years old compilers with no warnings. GCC 4.1 warns about this (with -Wall) and Clang 3.4 warns about this too, without any warning flag.
"Shooting yourself in the foot is your fault for not using a linter that detects accidental misuse of assignment!"
char* p = NULL;
if (p = malloc(...)) {
...
}