Boost.Parser avoids copying attributes. So it should be able to handle move-only attribute types. And this is almost the case, but only almost. A few places in the code prevent it at the moment.