
Juergen Hunold wrote:
I've managed to strip our code down to the attached example. I hope this is small enough and helps...
This is certainly deeply annoying: in order to fix one bug it appears I've introduced another - but without seeing the instantiation context and working out what Boost.Python is doing it's hard to say whether this should be fixed in type_traits or Boost.Python.
My testcase does not use Boost.Python, so I think the problem should be in type_traits. Please note: this only affects 32-bit builds, 64-bit builds using Visual Studio or address-model=64 when using bjam work.
Confirmed: that looks like a valid use case to me! ;-) I hope this is now fixed in Trunk: note however, you can still generate types with type_with_alignment<> which can't be passed through a function by value - but only if no other "ordinary" type is available - previously type_with_alignment<> wouldn't have compiled in these cases anyway. Regards, John.