From: Jason Shirk (jasonsh_at_[hidden])
Date: 2006-04-10 18:08:23
> From: Thyfate [mailto:thyfate_at_[hidden]]
> The following program compiled with MSVC8 gives different results
> intrinsics and boost type traits (in the wrong sense: as if the type
> library knew more about the classes than the compiler)
> It seems to me this is related to a bug in MSVC8 intrinsics which
> consider class two (see program below) as a POD type... The library
> thus not use the __is_pod intrinsics... though I can not find in the
> standard a place where it is said that POD types should not have
> constructors... (but then class one should also be of pod type)
> Could someone please confirm/propose a fix?
We made a conscious decision to have the intrinsic match our internal
notion of a pod.
We knew that our notion of a pod was broken in a few ways, this being
one of them. It wasn't clear to us that having __is_pod return
something different than our internal notion of a pod was the right
thing to do.
Futhermore, we knew from experience fixing our internal notion of a pod
was a breaking change, and a potentially serious one at that.
In the past couple of weeks, we have been reviewing this decision to see
what we can do without breaking too much code.
-- Jason Shirk VC++ Compiler Team
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk