[temp.explicit] Note disallows explicit instantiation of non-template member functions of a class template specialization #5110
Labels
cwg
Issue must be reviewed by CWG.
not-editorial
Issue is not deemed editorial; the editorial issue is kept open for tracking.
[temp.explicit]/4:
I don't know what this note is trying to say, but it appears to flat-out contract the previous normative sentence that allows the unqualified-id to be a template-name or operator-function-id.
But I think both the note and the normative sentence here are nonsense. Consider the immediately following sentence:
So if the explicit instantiation is for a member function of a class template specialization, then we are required to have
Class<args>::Function<more args>
, even if the function is a non-template member function? What?I think we meant something more like:
[temp.explicit]/4:
... but this is still wrong, given that it doesn't properly handle a member of a member of a class template specialization. (The above also loses the restriction that you can't explicitly instantiate an untemplated function.)
The text was updated successfully, but these errors were encountered: