(sorry for the extremely late reply, I just came across this issue again and realised I never did)
It's good that it works in vs2013, but does this mean it ought to compile anywhere and this is a bug though, or that vs2013 is just a fluke?
Your suggestion to override explicitly didn't help in my case unfortunately. It seems to actually be a problem in Boost.TypeTraits, I've commented on a similar issue there (see:
https://svn.boost.org/trac/boost/ticket/11323), but it's impacting the use of serialization. Naively, I would expect the example code to compile when using one of boost.Serialize's examples and merely overriding a base function, but it breaks. It feels to me like a bug of some sort, would people here agree?