<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/144510>144510</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
`modernize-use-trailing-return-type` reports underlying type in fix-it for lamdba
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
firewave
</td>
</tr>
</table>
<pre>
```cpp
#include <algorithm>
#include <cstddef>
void f()
{
auto val = [](size_t m) {
size_t a = 0;
return std::max(m, a);
};
}
```
```
<source>:6:16: warning: use a trailing return type for this lambda [modernize-use-trailing-return-type]
6 | auto val = [](size_t m) {
| ^
| -> unsigned long
```
https://godbolt.org/z/9K4M7Mz8E
It should be reporting `size_t` instead. It seems to be related to the template call involved.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUU91uszgQfZrhZkRkbH7CBRd8SSOtVn2GlcET8MrgyD9pk6dfOaTbdnuzn4XAnjljzjkeS-_1tBJ1UP2C6pjJGGbrurN29CavlA1W3Tqo2faMlwuwHrjQ62iiIgRxkGayTod5AfHyIzn6oBSdnynWX61WeAa-B96mSPMLWI-IKGOweJUGQRxx4wJ87_Wd_gq4AG_xE5vGMyMfeAbia85RiG5FHxSIHkS_yHfg-wX4AWX67waG5rjN0oT1_2rciH5bioO30Y2UZIi-BtEX6YVv0q16ndI0ekKJwUlt9Dp9UAi3C-HZOgyz9mjkMiiZ1C1WkVv1nfLoKf-oyreqPFUl_ZuiGqE54O979FH1ZUD18i2dg3jBuD46QKGx6_TTiDmEi08-8hPw02TVYE3YWTcBP92Bn9o_y9fm9b5_HvAfAf1so1E4EDq6WBeSH1CzjSfUDPXqA0m1wwQmWjwGu8GNDKTSKsyEgZZLCuAojUG9Xq25ktplqhOqFa3MqCuaihVV2-6bbO7YueK8amVRNoy3NasGUYi2omZsq5rty0x3nPGK1UVTFEKwelcNJSfFas7KksszQclokdrsjLkuSWOmvY_UFWVZFSwzciDjHzeF8yFOwDnwA3A-GrlOedDqlkLVMXNd2iEf4uShZEb74D_3DDoYSnfqf3RBzZ4meoyrImduyc1HW-kVz_o91-HRYEYuapBZdKb7z4npMMdhN9oF-ClxeH7yi7N_0xiAnx4iPfDTU-e14_8EAAD__77jNr8">