-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Labels
Feature: Auto-completeLanguage ServiceVisual StudioInherited from Visual StudioInherited from Visual Studiomore votes neededIssues that have been postponed until more community members upvote itIssues that have been postponed until more community members upvote it
Milestone
Description
Type: LanguageService
Describe the bug
- OS and Version: MacOS Mojave 10.14.6
- VS Code Version: 1.42.1
- C/C++ Extension Version: 0.26.3
- Other extensions you installed (and if the issue persists after disabling them):
- A clear and concise description of what the bug is.
intelliSense autocomplete fails to deduce type of templated class declared in templated class/function.
To Reproduce
namespace ID {
template <typename T>
struct addingClass {
public:
addingClass(T a, T b) : result(a + b) {}
const T result;
};
template <typename T>
class TemplatedClass {
public:
static T add(T a, T b) {
auto addition = addingClass<T>(a, b);
auto result = addition.result; // intelliSense provides not provide auto-complete for addingClass::result member
return result;
}
};
}
int main() {
return ID::TemplatedClass<int>::add(-1, 1);
}
Hovering over the addition
variable shows auto addition
, and line 14 fails to auto-complete the result
class member.
Expected behavior
I would expect auto-complete to deduce the class members of the addingClass
in the above example.
Screenshots
Additional context
c_cpp_properties.json:
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [],
"compilerPath": "/usr/local/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64",
"configurationProvider": "vector-of-bool.cmake-tools"
}
],
"version": 4
}
HO-COOH, glingy, rohanbari, ns-lwu, starball5 and 15 more
Metadata
Metadata
Assignees
Labels
Feature: Auto-completeLanguage ServiceVisual StudioInherited from Visual StudioInherited from Visual Studiomore votes neededIssues that have been postponed until more community members upvote itIssues that have been postponed until more community members upvote it