Skip to content

brigand::transform causes GCC and clang to never finish #265

@jcelerier

Description

@jcelerier

Repro :

#include <brigand/algorithms/transform.hpp>

template<typename... Args>
struct typelist { };

template <typename T>
struct get_type
{
  using type = typename T::type;
};

struct foobar
{
    static const constexpr typelist<> empty{};
};

int main()
{
    using transformed = brigand::transform<decltype(foobar::empty), get_type<brigand::_1>>;
    transformed t;
    return 0;
}

for me, with gcc-9.2 and clang-9, building never terminates (actually, it munches through my 32 gigabytes of RAM in ~1 minute and kills my machine).
It works when replacing e.g. decltype(foobar::empty) with typelist<> directly.

Any idea of where that could come from ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions