This fixes the code generation issues. The problem is that to_map allows for duplicate keys in the "from" sequence, which means it needs to recursively insert into a hana::map. This is both very bad for codegen and for compile-times. make_map, on the other hand, requires all the keys to be distinct, which makes it much more straightforward and much easier to optimize.
With this, I get the following codegen for test_calls.cpp on Clang:
This fixes the code generation issues. The problem is that
to_map
allows for duplicate keys in the "from" sequence, which means it needs to recursively insert into ahana::map
. This is both very bad for codegen and for compile-times.make_map
, on the other hand, requires all the keys to be distinct, which makes it much more straightforward and much easier to optimize.With this, I get the following codegen for
test_calls.cpp
on Clang:Fixes #1