If that's true, how was it possible that the mangling of the duplicate symbols in the test case is "_D4test15__unittestL32_5FZv17__T0TC9ExceptionZ0MFNaNbNfC9ExceptionZi"? Please note the "0" as the first template argument.