Description
After compiling the latest as well as previous versions of TACO I get the following compilation error
taco-src/src/lower/lowerer_impl.cpp:1677:21: error: reference to ‘conjunction’ is ambiguous
1677 | nonZeroCase = conjunction({coordComparisons[i], valueComparisons[i]});
| ^~~~~~~~~~~
I am using gcc (Ubuntu 12.3.0-17ubuntu1) 12.3.0
Here is the reason:
The error regarding conjunction being ambiguous usually occurs because the term conjunction is defined in multiple namespaces, causing a conflict. In modern C++ (C++17 and later), std::conjunction is part of the <type_traits> library, and this might conflict with a user-defined conjunction in the TACO source code.
and the fix is to remove the namespace ambiguity
nonZeroCase = taco::conjunction({coordComparisons[i], valueComparisons[i]});