#include #include // for printf to not get warnings about std::print throwing... #include std::expected squareRoot(int value) { if (value < 0) { return std::unexpected{0}; } else { return std::sqrt(value); } } // does not trigger false positive int sillySquareRootWithReturn(int value) { auto valueResult = squareRoot(value); if (not valueResult) { // NOLINTNEXTLINE(modernize-use-std-print) printf("Error: invalid value %d\n", value); return 0; } return valueResult.value(); } int main() { int value = -9; // NOLINTNEXTLINE(modernize-use-std-print) printf("the square root of %d is %d\n", value, sillySquareRootWithReturn(value)); return 0; }