[clang-tools-extra] [clang-tidy] Fix readability-simplify-boolean-expr for init statements (PR #172220)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 15 01:43:58 PST 2025
github-actions[bot] wrote:
<!--LLVM CODE LINT COMMENT: clang-tidy-->
:warning: C/C++ code linter, clang-tidy found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
```bash
git diff -U0 origin/main...HEAD -- clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp |
python3 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py -path build -p1 -quiet
```
</details>
<details>
<summary>
View the output from clang-tidy here.
</summary>
```
clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp:723:15: error: no viable conversion from 'StringRef' to 'std::string' (aka 'basic_string<char>') [clang-diagnostic-error]
723 | std::string Replacement = getText(Context, *IfStatement->getThen());
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:547:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'const basic_string<char> &' for 1st argument
547 | basic_string(const basic_string& __str)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:641:7: note: candidate constructor template not viable: no known conversion from 'StringRef' to 'const char *' for 1st argument
641 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
| ^ ~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:677:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'basic_string<char> &&' for 1st argument
677 | basic_string(basic_string&& __str) noexcept
| ^ ~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:706:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'initializer_list<char>' for 1st argument
706 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:535:7: note: explicit constructor is not a candidate
535 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:795:2: note: explicit constructor is not a candidate
795 | basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
| ^
llvm/include/llvm/ADT/StringRef.h:252:15: note: candidate function
252 | constexpr operator std::string_view() const {
| ^
clang-tools-extra/clang-tidy/readability/SimplifyBooleanExprCheck.cpp:735:15: error: no viable conversion from 'StringRef' to 'std::string' (aka 'basic_string<char>') [clang-diagnostic-error]
735 | std::string Replacement = ElseStatement ? getText(Context, *ElseStatement) : "";
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:547:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'const basic_string<char> &' for 1st argument
547 | basic_string(const basic_string& __str)
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:641:7: note: candidate constructor template not viable: no known conversion from 'StringRef' to 'const char *' for 1st argument
641 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
| ^ ~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:677:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'basic_string<char> &&' for 1st argument
677 | basic_string(basic_string&& __str) noexcept
| ^ ~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:706:7: note: candidate constructor not viable: no known conversion from 'StringRef' to 'initializer_list<char>' for 1st argument
706 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:535:7: note: explicit constructor is not a candidate
535 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
| ^
/usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/basic_string.h:795:2: note: explicit constructor is not a candidate
795 | basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
| ^
llvm/include/llvm/ADT/StringRef.h:252:15: note: candidate function
252 | constexpr operator std::string_view() const {
| ^
```
</details>
https://github.com/llvm/llvm-project/pull/172220
More information about the cfe-commits
mailing list