Boost logo

Boost :

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
> traits
> library knew more about the classes than the compiler)
> It seems to me this is related to a bug in MSVC8 intrinsics which
> not
> 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, gregod at, cpdaniel at, john at