mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	Workaround AppleClang bug by renaming TestHasher constructor argument
As far as I understand the standard, if there is a function called `rng` in the global namespace, and a function argument called `rng`, then the argument should shadow the function. This then means that uses of `rng` inside the function should refer to the argument. This is not the case for AppleClang 12.0.0. Luckily the workaround is simple enough; just rename the argument. Given that the function is 3 lines and uncomplicated, the change of the name doesn't really affect readability. Still, WTF AppleClang? Closes #2030
This commit is contained in:
		@@ -22,10 +22,10 @@ namespace Catch {
 | 
			
		||||
 | 
			
		||||
    namespace {
 | 
			
		||||
        struct TestHasher {
 | 
			
		||||
            explicit TestHasher(Catch::SimplePcg32& rng) {
 | 
			
		||||
                basis = rng();
 | 
			
		||||
            explicit TestHasher(Catch::SimplePcg32& rng_instance) {
 | 
			
		||||
                basis = rng_instance();
 | 
			
		||||
                basis <<= 32;
 | 
			
		||||
                basis |= rng();
 | 
			
		||||
                basis |= rng_instance();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            uint64_t basis;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user