microsoft / microsoft/vscode-cpptools
Type of array/vector incorrect in IntelliSense after a typedef and another array/vector
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
Bug type: Language Service
Describe the bug
- OS and Version: Windows 11 Pro
- VS Code Version: 1.57.1
- C/C++ Extension Version: 1.5.0-insiders3
In some cases the type of the elements of anarray/vectoris incorrect in IntelliSense after atypedefand anotherarray/vector.
Steps to reproduce
- Paste the following code into a cpp file:
#include <vector>
typedef int my_type;
std::vector<my_type> v;
void f(std::vector<int> x) {}
- Hover over the
f(orx). - The tooltip says
xis astd::vector<my_type>. - Notice how under Outline it is displayed as
std::vector<float>.
Expected behavior
x should be a std::vector<float>.
A more general way to reproduce this is:
- Define a new type:
typedef <existing_type> <new_type>; - Define an
array/vectorof<new_type>. - Define a function/variable that is/has an
array/vectorof<existing_type>. - IntelliSense will tell it is an
array/vectorof<new_type>.
Screenshots


Additional context
Visual Studio 2019 seems to have the same issue.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dalla gestione di IntelliSense del C++ language service per typedefs e tipi std::vector o array, utilizzando lo snippet di riproduzione nell’issue. Verifica il tooltip al passaggio del mouse e la visualizzazione Outline per il parametro della funzione, e considera il bug risolto quando entrambi riportano il tipo di elemento corretto senza essere influenzati dal typedef e dal vector precedenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100