@@ -910,13 +910,13 @@ void foo())cpp";
910
910
}},
911
911
// Constructor of partially-specialized class template
912
912
{R"cpp(
913
- template<typename> struct X;
913
+ template<typename, typename=void > struct X;
914
914
template<typename T> struct X<T*>{ [[^X]](); };
915
915
)cpp" ,
916
916
[](HoverInfo &HI) {
917
917
HI.NamespaceScope = " " ;
918
918
HI.Name = " X" ;
919
- HI.LocalScope = " X::" ; // FIXME: Should be X<T *>::
919
+ HI.LocalScope = " X<T *> ::" ; // FIXME: X<T *, void >::
920
920
HI.Kind = SymbolKind::Constructor;
921
921
HI.ReturnType = " X<T *>" ;
922
922
HI.Definition = " X()" ;
@@ -1029,8 +1029,8 @@ void foo())cpp";
1029
1029
HI.Type = " enum Color" ;
1030
1030
HI.Value = " 1" ;
1031
1031
}},
1032
- // FIXME: We should use the Decl referenced, even if it comes from an
1033
- // implicit instantiation.
1032
+ // FIXME: We should use the Decl referenced, even if from an implicit
1033
+ // instantiation. Then the scope would be Add<1, 2> and the value 3 .
1034
1034
{R"cpp(
1035
1035
template<int a, int b> struct Add {
1036
1036
static constexpr int result = a + b;
@@ -1043,7 +1043,7 @@ void foo())cpp";
1043
1043
HI.Kind = SymbolKind::Property;
1044
1044
HI.Type = " const int" ;
1045
1045
HI.NamespaceScope = " " ;
1046
- HI.LocalScope = " Add::" ;
1046
+ HI.LocalScope = " Add<a, b> ::" ;
1047
1047
}},
1048
1048
{R"cpp(
1049
1049
const char *[[ba^r]] = "1234";
0 commit comments