microsoft / microsoft/vscode-cpptools

inlay parameter hint does not work for dependent function templates

Abierto
#9,744 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

enhancement Feature: Inlay Hint Language Service Visual Studio
Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
14 h 46 min
PR fusionados (30 d)
61

Descripción

Environment
  • OS and version: Ubuntu 20.04
  • VS Code: 1.70.0
  • C/C++ extension: 1.20.0
  • Other extensions you installed (and if the issue persists after disabling them):
  • If using SSH remote, specify OS of remote machine:
  • A clear and concise description of what the bug is, including information about the workspace (i.e. is the workspace a single project or multiple projects, size of the project, etc).
Bug Summary and Steps to Reproduce

Bug Summary:
I'm not quite sure this should be a bug or a feature request, since it seems to be highly related with #2973

Steps to reproduce:

template <typename T>
void func1 (T arg);

template <typename T>
void func2 () {
    T val;
    func1(val);  // no inlay hint for `val`
    func1<int>(42);  // OK
}
Expected behavior

an inlay hint arg: appears before val, because there's no other overload besides the main template.

Code sample and Logs
template <typename T>
void func1 (T arg);

template <typename T>
void func2 () {
    T val;
    func1(val);  // no inlay hint for `val`
    func1<int>(42);  // OK
}

```json
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
            ],
            "defines": [
            ],
            "compilerPath": "/usr/bin/g++-10",
            "cStandard": "c11",
            "cppStandard": "c++11",
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": [
                    
                ]
            }
        }
    ],
    "version": 4
}


### Screenshots

_No response_

### Additional context

_No response_

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza reproduciendo el ejemplo de plantilla de función dependiente del issue con la VS Code C/C++ extension y confirma que la llamada con plantilla explícita recibe una sugerencia insertada, mientras que la llamada inferida no. Se considera terminado cuando la llamada inferida muestra una sugerencia arg: antes de val sin cambiar el comportamiento de la llamada con plantilla explícita.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.