Autocomplete does not work for objects marked const
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el ejemplo mínimo de C++ del issue y compara el autocompletado para los objetos no constantes y constantes en VS Code con la extensión C/C++. Sigue el comportamiento del autocompletado para los tipos restringidos y confirma que los miembros y métodos como reduce() aparecen para los objetos constantes sin hacer que el caso existente de objetos no constantes deje de funcionar.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment
- OS and Version: Ubuntu 23.04
- VS Code Version: 1.79.0
- C/C++ Extension Version: 1.16.3
Bug Summary and Steps to Reproduce
Bug Summary:
Normally if you instantiate an object that has some constrains on members and methods, those members and methods will autofill. This does not happen if the object in marked const.
I'm using GCC 13.0.1 x86_64. The following code is a minimal example.
#include <concepts>
struct Types
{
struct Real
{
void reduce() const {}
};
};
template <typename Real>
concept IsReal =
requires (const Real real) {
{
real.reduce()
} -> std::same_as<void>;
};
template <IsReal Real>
struct Foo {
Foo () {
Real real;
real.reduce(); // this will autocomplete
const Real const_real;
const_real.reduce(); // this will NOT autocomplete
}
};
int main()
{
Foo<Types::Real> {};
}
Configuration and Logs
I don't have a c_cpp_properties.json in my .vscode directory. Only a settings.json, and the only field besides file associations is
"C_Cpp.default.compilerPath": "/usr/bin/gcc-13"
### Other Extensions
_No response_
### Additional context
_No response_
- Lenguaje dominante
- TypeScript
- Estrellas
- 6.2k
- Forks
- 1.7k
- Merge medio
- 14 h 46 min
- PR fusionados (30 d)
- 61
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de microsoft/vscode-cpptools
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
microsoft/vscode-cpptools#14787 ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries Abiertobug fixed Language Service regression
microsoft/vscode-cpptools#14779 · 1 asignado ·
-
Language Service more info needed
microsoft/vscode-cpptools#14778 · 1 comentario · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 64/100
microsoft/vscode-cpptools#14769 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
microsoft/vscode-cpptools#14768 · 1 comentario ·
Todos los issues de microsoft/vscode-cpptools
Issues similares
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
-
code-quality refactoring
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
github/gh-aw-firewall#8816 ·
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
langchain-ai/deepagents#6450 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
vercel/react-tweet#225 ·