-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nested scopes with the same name confuses intellisense (Outline/vscode.DocumentSymbols) #6830
Comments
Thanks for reporting this. It should be fixed in our next release. |
This is going to be broken again with 1.2.2 due to infinite looping issues that were found. We should have a new fix for 1.3.0. |
@BigBahss Fixed with our pending 1.3.0-insiders: We're still working on other issues before releasing it. |
Excellent 👍 |
@BigBahss ETA is now this Thursday (or next week if we find any blocking issues). |
Fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/1.3.0-insiders . Let us know if you notice any other bugs in regards to the symbol outlining. |
The examples I gave all look like they have been fixed, however I found a new example that is not outlined correctly: namespace foo::bar {
namespace baz::inline boop {
class beep {
public:
beep();
};
int foobarbaz();
}
} Of course, this syntax is new to c++20, so it is understandable that it's not fully supported yet. Using the pre-c++20 syntax yields the right outline: namespace foo::bar {
namespace baz {
inline namespace boop {
class beep {
public:
beep();
};
int foobarbaz();
}
}
} |
Type: LanguageService
Describe the bug
Steps to reproduce
testFunc()
andclass bar
appear within the outer-mostnamespace foo
, whereas the constructorbar()
appears innamespace bar
. However,bar()
is still recognized as being a method, rather than a function.namespace foo
tonamespace notfoo
, you get this outline:testFunc()
andclass bar
are now positioned correctly, while the constructorbar()
still appears undernamespace bar
.I recognize that this is an edge case that isn't likely to come up. I found it while coming up with edge cases when testing my own extension.
Logs
The text was updated successfully, but these errors were encountered: