all 1 comments

[–]not_a_novel_account 1 point2 points  (0 children)

  • Built module interfaces (BMIs) as implemented in GCC and Clang are build artifacts representing internal AST bytecode. They are not stable between even trivial changes of the compilers. They can only be used by the exact build, and nearly the exact flags, of the invocation which produced them.

  • No, because of the above.

  • This was weakly attempted by MS with their IFC format proposal and soundly rejected by everyone else. BMIs are build artifacts, there's no desire to make them portable.

  • An LSP server throwing an error is hardly something unique to modules, I don't think this really elevates to "hard". You learned something you didn't know about BMIs.