From 53281b471f881b86d1ed037b3df0c239287552af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ho=C5=99e=C5=88ovsk=C3=BD?= Date: Thu, 18 Jul 2019 11:51:47 +0200 Subject: [PATCH] Prevent compilation of generators that use bool in dangerous manner Closes #1692 --- include/internal/catch_generators.hpp | 3 +++ include/internal/catch_generators_generic.hpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/include/internal/catch_generators.hpp b/include/internal/catch_generators.hpp index 8f06b8c6..883fd85b 100644 --- a/include/internal/catch_generators.hpp +++ b/include/internal/catch_generators.hpp @@ -70,6 +70,9 @@ namespace Generators { template class FixedValuesGenerator final : public IGenerator { + static_assert(!std::is_same::value, + "ValuesGenerator does not support bools because of std::vector" + "specialization, use SingleValue Generator instead."); std::vector m_values; size_t m_idx = 0; public: diff --git a/include/internal/catch_generators_generic.hpp b/include/internal/catch_generators_generic.hpp index fa3749c3..81fd3857 100644 --- a/include/internal/catch_generators_generic.hpp +++ b/include/internal/catch_generators_generic.hpp @@ -91,6 +91,9 @@ namespace Generators { template class RepeatGenerator : public IGenerator { + static_assert(!std::is_same::value, + "RepeatGenerator currently does not support bools" + "because of std::vector specialization"); GeneratorWrapper m_generator; mutable std::vector m_returned; size_t m_target_repeats;