So I understand that internal/static removes the need for functions to be put into a symbol table (useful for unity builds), reducing overhead and lowering compile time. During HMH, when Casey marks a function as "inline", he removes the "internal" label, but I'm not 100% sure why.
I presume that when functions are inlined they don't need to be put into a symbol table. I've heard that "inline" is just a hint to the compiler, but the compiler has the last word. In the cases when the function is not inlined, what happens to it? Does the compiler assume that it is static or does it put it into a symbol table (or something else...)?