using operator auto is giving false error
还没有人认领这个 Issue。
评估
调研方向
首先,使用报告中所示的最小 C++ 源代码重现该诊断,并检查 IntelliSense 如何解析这两个 using 声明。完成的标准是将 operator auto 声明识别为错误,同时 using a::operator char; 不再收到错误的错误波浪线标记。
由索引模型根据 Issue 内容生成。
描述
Environment
Version: 1.108.1 (user setup)
Commit: 585eba7c0c34fd6b30faac7c62a42050bfbc0086
Date: 2026-01-14T14:55:44.241Z
Electron: 39.2.7
ElectronBuildId: 12953945
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.26100
C/C++ extension version 1.30.1
Bug Summary and Steps to Reproduce
Bug Summary:
When a class declares a conversion function using operator auto() IntelliSense will later be confused on references to that member of that class from other classes with a using statement. The code compiles fine, but IntelliSense will report it with an error squiggle.
Steps to reproduce:
-
Use this source file
struct a { operator auto() { return char(8); } }; struct b : a { using a::operator auto; using a::operator char; }; -
See error
class "a" has no member "operator char"
Expected behavior:
I would have expected using operator a::auto to be the error, and using a::operator char; to not be flagged as an error.
Configuration and Logs
There is no _c_cpp_properties.json_ in use for this example.
-------- Diagnostics - 1/15/2026, 8:47:45 PM
Version: 1.30.1
Current Configuration:
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseModeIsExplicit": false,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"mergeConfigurations": false,
"recursiveIncludes": {},
"recursiveIncludesReduceIsExplicit": false,
"recursiveIncludesPriorityIsExplicit": false,
"recursiveIncludesOrderIsExplicit": false,
"compilerPath": "",
"compilerPathIsExplicit": true,
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
Modified Settings:
{
"C_Cpp.autocompleteAddParentheses": true,
"C_Cpp.default.compilerPath": ""
}
Additional Tracked Settings:
{
"editorTabSize": 4,
"editorInsertSpaces": true,
"editorAutoClosingBrackets": "languageDefined",
"filesEncoding": "utf8",
"filesAssociations": {
"*.Ps1xml": "xml",
"*.H86": "hex",
"*.kwaconfig": "json",
"*.tcc": "cpp",
"*.xslt": "xsl",
"*.rstc": "ini"
},
"filesExclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true
},
"filesAutoSaveAfterDelay": false,
"editorInlayHintsEnabled": true,
"editorParameterHintsEnabled": true,
"searchExclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
},
"workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.30.1.0
Current database path: C:\USERS\CMORRIS\APPDATA\LOCAL\TEMP\{6C345B41-3F76-4648-B7E6-2DB157100C44}\.BROWSE.VC.DB
Translation Unit Mappings:
[ C:\Users\cmorris\test.cpp - source TU]:
Translation Unit Configurations:
[ C:\Users\cmorris\test.cpp ]
Process ID: 4588
Memory Usage: 60 MB
Include paths:
Defines:
_DEBUG
UNICODE
_UNICODE
Standard Version: ms_c++17
IntelliSense Mode: windows-msvc-x64
Total Memory Usage: 60 MB
Other Extensions
No response
Additional context
No response
- 主要语言
- TypeScript
- 星标
- 6.2k
- 派生
- 1.7k
- 平均合并
- 1 天 4 小时
- 30 天内合并 PR
- 58
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/vscode-cpptools 的其他 Issue
-
bug Language Service regression
microsoft/vscode-cpptools#14795 · 1 条评论 · 已指派 1 人 ·
-
bug Language Service parser
microsoft/vscode-cpptools#14794 · 1 条评论 · 已指派 1 人 ·
-
more info needed
microsoft/vscode-cpptools#14793 · 2 条评论 · 已指派 1 人 ·
-
more info needed
难度 4/5 3-5 天 新手友好度 35/100
microsoft/vscode-cpptools#14787 · 1 条评论 · 已指派 1 人 ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries 未关闭bug fixed Language Service regression
microsoft/vscode-cpptools#14779 · 1 条评论 · 已指派 1 人 ·
查看 microsoft/vscode-cpptools 的全部 Issue
相似的 Issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
Mend: dependency security vulnerability untriaged
难度 2/5 1-3 小时 新手友好度 70/100