Ja, das ist ein Bug beim Klingeln; eingereicht bei Ссылка .
Die Art des Fehlers besteht darin, dass in einer Klassenvorlagen-Memberfunktionsdefinition die Klassenvorlage außerhalb ( [class.mfct] / 1) erscheint und der Typ eines Parameters von der Klassenvorlage abhängt Parameter verwendet clang den Parametertyp der Deklaration und nicht den Parametertyp der Definition, in der sie sich in der obersten cv-Qualifikation unterscheiden. Vereinfachtes Beispiel:
%Vor% Pro [dcl.fct] / 5 Der Typ von i
in der Definition von A<X>::f
ist int const
( Verwendung von 'const' für Funktionsparameter ):
5 - [...] Nachdem die Liste der Parametertypen erstellt wurde, können alle cv-qualifiers > auf oberster Ebene einen Parameter ändern Typ wird bei der Bildung des Funktionstyps gelöscht. [...] [ Hinweis: Diese Umwandlung wirkt sich nicht auf die Typen der Parameter aus. [...] - Endnote ]