Issue 185044
Summary [clang-tidy] modernize-return-braced-init-list gives misleading warning about repeated typename when returning an object with operator T&
Labels clang-tidy
Assignees
Reporter Alcaro
    https://godbolt.org/z/naeo7Y6bK

```
struct foo {};

struct bar {
    operator const foo&() const;
};

foo x() {
 return bar();
}
```

--checks=modernize-return-braced-init-list for clang-tidy, no particular flags needed for Clang.

Output:

```
<source>:8:5: warning: avoid repeating the return type from the declaration; use a braced initializer list instead [modernize-return-braced-init-list]
    8 |     return bar();
      | ^
1 warning generated.
```

Exactly which return type is being repeated? And how would a braced-init-list help? `return { outer() };` just errors out.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to