Closed
Description
Describe the bug
The build fails when compiling the language server on macOS.
To Reproduce
- Compile DSLX language server on macOS
Environment (this can be helpful for troubleshooting):
- OS: macOS Sequoia
Error log
external/com_google_absl/absl/container/internal/raw_hash_set.h:3088:17: error: type 'hasher' (aka 'absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>') does not provide a call operator
3088 | auto hash = hash_ref()(key);
| ^~~~~~~~~~
external/com_google_absl/absl/container/internal/raw_hash_set.h:2836:20: note: in instantiation of function template specialization 'absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::find_or_prepare_insert<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>' requested here
2836 | auto res = s.find_or_prepare_insert(key);
| ^
external/com_google_absl/absl/container/internal/container_memory.h:140:10: note: in instantiation of function template specialization 'absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::InsertSlot<true>::operator()<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, const std::piecewise_construct_t &, std::tuple<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>> &>, std::tuple<const std::unique_ptr<xls::dslx::BytecodeFunction> &>>' requested here
140 | return std::forward<F>(f)(key, std::piecewise_construct, std::move(p.first),
| ^
external/com_google_absl/absl/container/internal/container_memory.h:207:27: note: in instantiation of function template specialization 'absl::container_internal::memory_internal::DecomposePairImpl<absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::InsertSlot<true>, const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>> &, std::tuple<const std::unique_ptr<xls::dslx::BytecodeFunction> &>>' requested here
207 | return memory_internal::DecomposePairImpl(
| ^
external/com_google_absl/absl/container/flat_hash_map.h:591:38: note: in instantiation of function template specialization 'absl::container_internal::DecomposePair<absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::InsertSlot<true>, const std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>> &>' requested here
591 | return absl::container_internal::DecomposePair(std::forward<F>(f),
| ^
external/com_google_absl/absl/container/internal/hash_policy_traits.h:134:15: note: in instantiation of function template specialization 'absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>::apply<absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::InsertSlot<true>, const std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>> &>' requested here
134 | return P::apply(std::forward<F>(f), std::forward<Ts>(ts)...);
| ^
external/com_google_absl/absl/container/internal/raw_hash_set.h:2439:26: note: in instantiation of function template specialization 'absl::container_internal::hash_policy_traits<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>::apply<absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::InsertSlot<true>, const std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>> &, absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>' requested here
2439 | return PolicyTraits::apply(InsertSlot<true>{*this, std::move(*slot)}, elem);
| ^
xls/dslx/bytecode/bytecode_cache.cc:46:12: note: in instantiation of function template specialization 'absl::container_internal::raw_hash_set<absl::container_internal::FlatHashMapPolicy<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>, absl::hash_internal::Hash<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::equal_to<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>>, std::allocator<std::pair<const std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>>, std::unique_ptr<xls::dslx::BytecodeFunction>>>>::emplace<std::tuple<const xls::dslx::Function *, const xls::dslx::TypeInfo *, std::optional<xls::dslx::ParametricEnv>> &, std::unique_ptr<xls::dslx::BytecodeFunction>, 0>' requested here
46 | cache_.emplace(key, std::move(bf));
| ^
5 errors generated.
Target //xls/dslx/lsp:dslx_ls failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 409.037s, Critical Path: 26.93s
INFO: 2661 processes: 1253 internal, 1408 darwin-sandbox.
ERROR: Build did NOT complete successfully