2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-26 18:52:26 +00:00

Take typeid(T&) rather than typeid(T). For some some compilers won't

let you get away with typeid(T) when T is an incomplete class
type (that's conforming behavior), but GCC at least will allow
typeid(T&) -- also disallowed by the standard when T is incomplete.
If it turns out that EDGs also barf on typeid(T&), we may have more
work to do.

Some warning suppression for MSVC.


[SVN r29020]
This commit is contained in:
Dave Abrahams
2005-05-18 01:34:35 +00:00
parent 424f5bdf31
commit 432d4782a5
4 changed files with 11 additions and 11 deletions

View File

@@ -74,8 +74,15 @@ namespace
// Get the location in which to construct
void* storage = ((rvalue_from_python_storage<T>*)data)->storage.bytes;
new (storage) T(SlotPolicy::extract(intermediate.get()));
# ifdef _MSC_VER
# pragma warning(push)
# pragma warning(disable:4244)
# endif
new (storage) T( SlotPolicy::extract(intermediate.get()) );
# ifdef _MSC_VER
# pragma warning(pop)
# endif
// record successful construction
data->convertible = storage;
}