The not rescanning if the #include guards are there goes back to the mid 1980s. It's not a modern feature :-)
> the strategy of only #including header files within .c files is close to useless
It probably is. It also means the user of the .h file has to manage the .h file's dependencies, which is not the best practice. .h files should be self-contained.
> the strategy of only #including header files within .c files is close to useless
It probably is. It also means the user of the .h file has to manage the .h file's dependencies, which is not the best practice. .h files should be self-contained.