$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [review] Conversion - About specialization, overloading and ODR
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2011-08-31 02:19:53
Hi,
during the Boost.Conversion review and pre-review it has been argued 
that as the user must provide specializations of the conversion function 
for other UDT's, it could  promotr ODR violations as two independent 
libraries  can provide the same specialization making them incompatible 
for an end user.
This issue is present for any library for which the user could provide 
an overload or could specialize a class. The standard library protects 
itself from this issue saying that is undefined behavior any 
specializations of standard classes (except maybe numeric_traits that 
has a single parameters and it is intendeed to be specialized by the 
library providing the UDT).
My question is: Should Boost (all the Boost libraries) document 
explicitly that any class specialization or overload of free fuctions 
could result in undefined behavior? Is this already implicitly acknowledged?
Best,
Vicente