On 3 July 2012 20:36, Jason Merrill wrote: > On 06/18/2012 04:46 AM, Jonathan Wakely wrote: >> >> The problems arise when user code that uses the "inline-only" code is >> linked to other user-code that has a different definition of that >> inline-only code. > > > What problems arise then? As long as the interface of the user code is the > same, it doesn't matter which definition of the inline-only code is used.
Returning a std::pair by value from a function causes problems if the caller and callee don't use the same -std setting, http://gcc.gnu.org/PR53657 and three or four other PRs. Until today using a std::list was a problem. None of the std::pair or std::list code exists in libstdc++.so, it's all inline-only template code.