3 ms·
That's sorta the price to pay for having multiple versions of symbols. I'd take having overloads where needed for older ABI versions over linker errors. Also, I
by flqn 7y ago
That's sorta the price to pay for having multiple versions of symbols. I'd take having overloads where needed for older ABI versions over linker errors. Also, I imagine you wouldn't necessarily need overloads for all versions unless there were API differences or you explicitly needed to support multiple ABIs. Most of the time you could probably just use the name without qualifying the inline namespace. Conversions in the library could also help, especially if the compiler can see through them to optimize them away/do them at compile-time.
The main issue I can see is header files actually, since even if your library was built using the std::v2::blah types, anyone that includes the header referring to std::blah could potentially get a different version. Modules do solve this, though, as long as your module interface is built as the same version of the library.