nridge added a comment. Here's a first draft of an implementation of type hints. It provided hints for variable declarations that use `auto` (possibly with const, &, etc.) as the type.
There are additional places in which type hints could be useful, such as: - Functions with deduced return type (C++14) - Structured bindings (either for the aggregate, or for the individual bindings) - `decltype(expr)` in any context - probably others I'm not thinking of but I think it makes sense to pursue those in subsequent patches. The patch also doesn't currently make an attempt to omit the type hint in cases where the type is obvious from the initializer. There's probably some low-hanging fruit to be had there: - `= Foo(...)` or `= (Foo) (...)` - `= static_cast<Foo>(...)` - It might be nice to handle things like `make_unique<Foo>(...)` or `dyn_cast<Foo>(...)`, though I'm not sure if there's a general heuristic that would apply to things like this as a category. Client-side patch for experimentation: https://github.com/clangd/vscode-clangd/pull/188 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102148/new/ https://reviews.llvm.org/D102148 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits