There is a type / value mismatch, this should be at least MixedMixins::template InnerMixin... However, GCC still refuses this, and I did not find a way to persuade him. Unfortunately, I can hardly prove that such a package extension is really valid. I hope someone more knowledgeable in grammar could answer this question.
In a more βlateralβ approach, did you consider that the template template parameters completely match? Not only will this alleviate the pain of syntax, but you can still "rebuild" the template specialization template parameters:
eg. Rebind<std::vector<int>, std::tuple<double, std::allocator<double>> - std:vector<double> . Combine this with the parameters_of / ParametersOf utility to extract the parameters of the specialization template, for example. a std::tuple .
As a disclaimer, I did not use these methods on my own, but I already appreciated how I can limit the template parameters to a pain with a few centralized spots of my code.
source share