summaryrefslogtreecommitdiffstats
path: root/tools/clang-tidy/test/bugprone-string-integer-assignment.cpp
blob: 30ef46b922ff39a7c25a91e0945ec903f7b66530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// https://clang.llvm.org/extra/clang-tidy/checks/bugprone-string-integer-assignment.html

#include "structures.h"

void test_int()
{
  // Numeric types can be implicitly casted to character types.
  std::string s;
  int x = 5965;
  s = 6; // warning
  s = x; // warning
}

void test_conversion()
{
  // Use the appropriate conversion functions or character literals.
  std::string s;
  int x = 5965;
  s = '6'; // OK
  s = std::to_string(x); // OK
}

void test_cast()
{
  // In order to suppress false positives, use an explicit cast.
  std::string s;
  s = static_cast<char>(6); // OK
}