CLANGD(MSVC)缺失std::ranges算法的范围版签名提示
clangd 22.1.2中std::ranges算法的范围重载签名帮助缺失问题
版本信息
clangd version 22.1.2 (https://github.com/llvm/llvm-project 1ab49a973e210e97d61e5db6557180dcb92c3e98) Features: windows Platform: x86_64-pc-windows-msvc
触发std::ranges::reverse的签名帮助时,仅返回基于迭代器的重载版本,基于范围的版本缺失。该问题同样存在于std::ranges::transform、std::ranges::copy等其他范围适配器和算法中。
值得注意的是,当传入范围参数时,clangd并未标记任何语法错误,说明编译时的重载解析是正常的,只是LSP的签名帮助功能没有列出对应的范围重载版本。有没有人遇到过这个问题,或者找到了解决方法?
clangd请求日志(std::ranges::reverse的签名帮助)
I[18:36:46.124] --> reply:textDocument/signatureHelp(1044) 46 ms V[18:36:46.124] >>> { "id": 1044, "jsonrpc": "2.0", "result": { "activeParameter": 0, "activeSignature": 0, "signatures": [ { "label": "operator()(It First, Se Last) -> It", "parameters": [ { "label": [ 11, 19 ] }, { "label": [ 21, 28 ] } ] } ] } }

内容的提问来源于stack exchange,提问作者Daniel Aviv
相关产品推荐
相关产品推荐

