microsoft / microsoft/vscode-cpptools
Extract to free function doesn't properly reference the source class object
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Use "Extract to free function" using the code below and the selection shown in the screenshot (of code in a member function of class that references other class elements).
class foo
{
public:
int var;
int func();
int func2() { return var * 2; }
};
int foo::func()
{
return func2() + var;
}
Bug: The generated code doesn't properly reference the class object in the free function (i.e. by taking a pointer or reference to an object of the class). The bug repros in the latest 17.8 Preview version of VS (the earlier 17.7.4 crashes).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in the VS 17.8 Preview version using the provided C++ class and the shown selection, then inspect the implementation of “Extract to free function.” Done means the generated free function correctly references the source class object and the earlier crash is not reintroduced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100