Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make indirect_adapter<spread_sorter> work with a projection #204

Closed
Morwenn opened this issue Mar 2, 2022 · 0 comments
Closed

Make indirect_adapter<spread_sorter> work with a projection #204

Morwenn opened this issue Mar 2, 2022 · 0 comments
Labels
Milestone

Comments

@Morwenn
Copy link
Owner

Morwenn commented Mar 2, 2022

As mentioned in #203, passing a collection to sort and a projection to indirect_adapter<spread_sorter> doesn't compile and barfs thousands of lines of template error messages. Theoretically it should work since nothing in indirect_adapter requires the comparison to work: this was the conclusion of issue #138, but the tests weren't good enough and let simple yet obvious cases slip through the holes.

My initial guess is that indirect_adapter_impl::operator() doesn't perform enough SFINAE: it uses decltype(auto) which probably makes some expressions of interest ill-formed when we need proper SFINAE for them to work.

@Morwenn Morwenn added the bug label Mar 2, 2022
Morwenn added a commit that referenced this issue Mar 3, 2022
indirect_adapter did work with projection-only sorters, but not when
passed only a projection. This commit solves it by adding nauseating
amounts of SFINAE, cursing the status quo for the generations to come.
Morwenn added a commit that referenced this issue Mar 3, 2022
indirect_adapter did work with projection-only sorters, but not when
passed only a projection. This commit solves it by adding nauseating
amounts of SFINAE, cursing the status quo for the generations to come.
Morwenn added a commit that referenced this issue Mar 3, 2022
indirect_adapter did work with projection-only sorters, but not when
passed only a projection. This commit solves it by adding nauseating
amounts of SFINAE, cursing the status quo for the generations to come.
@Morwenn Morwenn added this to the 1.13.0 milestone Mar 3, 2022
@Morwenn Morwenn closed this as completed Mar 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant