[...]
Now I'm completely confused... does code like the following cause a warning? (I don't have access to this compiler, unfortunately, but there aren't any warnings in the Boost regression tests...)
template<typename T> struct foo { void bar() { int deprecated; } };
int main() { return sizeof(foo); }
At least with my compiler settings it will! Warning : variable / argument 'deprecated' is not used in function hello.cpp line 51 void bar() { int deprecated; } Error : illegal type hello.cpp line 74 return sizeof(foo);
You may also compile with BOOST_FUNCTION_NO_DEPRECATED defined, which will completely remove all deprecated functionality.
Thanks, that helped a lot! BTW: I also have the problem that I can't use Boost.Function together with precompiled headers because of the following error: Error : illegal use of precompiled header (included from: function.hpp:22 KeyStorage.h:12 HostMemoryKeyStorage.h:9 DesKey.h:11 MWPrefixWin32.pch++:14) function_base.hpp line 288 void nonnull() {}; I have tried to make nonnull() inline and/or static but that didn't help. I think the root of the problem is that the address of nonnull() is taken. I wonder if it is really needed to return a real (member) function pointer or if it would be OK to just return (safe_bool)1 ? Bertolt -- Free Crypto Token - FCT www.FreeCryptoToken.org