mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Prevent compilation of generators that use bool in dangerous manner
Closes #1692
This commit is contained in:
		| @@ -70,6 +70,9 @@ namespace Generators { | ||||
|  | ||||
|     template<typename T> | ||||
|     class FixedValuesGenerator final : public IGenerator<T> { | ||||
|         static_assert(!std::is_same<T, bool>::value, | ||||
|             "ValuesGenerator does not support bools because of std::vector<bool>" | ||||
|             "specialization, use SingleValue Generator instead."); | ||||
|         std::vector<T> m_values; | ||||
|         size_t m_idx = 0; | ||||
|     public: | ||||
|   | ||||
| @@ -91,6 +91,9 @@ namespace Generators { | ||||
|  | ||||
|     template <typename T> | ||||
|     class RepeatGenerator : public IGenerator<T> { | ||||
|         static_assert(!std::is_same<T, bool>::value, | ||||
|             "RepeatGenerator currently does not support bools" | ||||
|             "because of std::vector<bool> specialization"); | ||||
|         GeneratorWrapper<T> m_generator; | ||||
|         mutable std::vector<T> m_returned; | ||||
|         size_t m_target_repeats; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Martin Hořeňovský
					Martin Hořeňovský