microsoft / microsoft/vscode-cpptools

inlay parameter hint does not work for dependent function templates

Ouverte
#9,744 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

enhancement Feature: Inlay Hint Language Service Visual Studio
Langage dominant
TypeScript
Étoiles
6.2k
Forks
1.7k
Merge moyen
14 h 46 min
PR mergées (30 j)
61

Description

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_

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire l’exemple de template de fonction dépendante de l’issue avec la VS Code C/C++ extension et confirmez que l’appel avec template explicite reçoit une indication inline, tandis que l’appel inféré n’en reçoit pas. C’est terminé lorsque l’appel inféré affiche une indication arg: avant val sans modifier le comportement de l’appel avec template explicite.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.