24 Jul
2013
24 Jul
'13
11:13 p.m.
More curiously (according to our compiler team; I haven't run clang myself):
VC 2013: static_assert GCC 4.8.1: accepts EDG 4.6: accepts clang 3.3: static_assert
A clang developer has recently pointed me to an interesting clause in the standard ([temp.inst] p6): "If the overload resolution process can determine the correct function to call without instantiating a class template definition, it is unspecified whether that instantiation actually takes place." Perhaps this is coming into play here (and thus all of the above behaviour is standard-conforming)? Regards, Nate