built-in functions do not exist in the compiled binary: this is because they are taken and placed directly on the call site (the so-called IN-LINE). Each use of the built-in function leads to a complete code that needs to be inserted into this place.
Therefore, inline functions cannot be exported because they do not exist. But you can use them if you have a definition in one title. And yes, you MUST provide a definition for the inline function, otherwise you will not be able to use it.
If you manage to export the built-in function, then it is sure that it is no longer built-in: inline is not a strict semantic element. Depending on the parameters of the compiler and the compiler, one compiler may choose the built-in, another not, sometimes provide a warning, and sometimes even an error (which I usually prefer to be the default behavior, since it shows the places where unintended situations occur)
source share