llvm/llvm-project
Ver no GitHubOptimize `decltype(T{})` to `T` in compiler error messages
Open
#96.638 aberto em 25 de jun. de 2024
clang:diagnosticsgood first issuequality-of-implementation
Métricas do repositório
- Stars
- (26.378 stars)
- Métricas de merge de PR
- (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)
Description
In many cases clang generates an error like:
note: because 'implicitly_convertible(kind_of_<decltype(struct time{{{}}})>{{{}, {}}}, kind_of_<decltype(derived_quantity_spec<power<length, 2>, per<time> >{{{}, {{}}}})>{{{}}})' evaluated to false
besides the #88502 issue the decltype(T{}) also does not help in readability here. The above message could be simplified to:
note: because 'implicitly_convertible(kind_of_<struct time>{}, kind_of_<derived_quantity_spec<power<length, 2>, per<time> >>{})' evaluated to false
Those two issues would help libraries like mp-units provide users with much easier-to-understand diagnostics.