Peter Eisentraut <pe...@eisentraut.org> writes: > On 06.09.23 17:01, Alvaro Herrera wrote: >> Assert()ing that a pointer is not null, and in the next line >> dereferencing that pointer, is useless: the process would crash anyway >> at the time of dereference, so the Assert() adds no value. Better to >> leave the assert out.
> I don't think this is quite correct. If you dereference a pointer, the > compiler may assume that it is not null and rearrange code accordingly. > So it might not crash. Keeping the assertion would alter that assumption. Uh ... only in assert-enabled builds. If your claim is correct, this'd result in different behavior in debug and production builds, which would be even worse. But I don't believe the claim. I side with Alvaro's position here: such an assert is unhelpful. regards, tom lane