-
Notifications
You must be signed in to change notification settings - Fork 44
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
Homogeneous container remapping code fails for some containers #54
Comments
I went and discussed this issue with a colleague, and these are the points I'd like to argue :)
What do you think? |
Hi @ibookstein , I fully agree with you reproduction as well as your second argumentation.
Probably the best way to solve this is to provide a trait that performs the remapping. The trait could only be used if the potentially remapped type provides a Sadly I'm currently considering this of scope feature-wise. For most use-cases |
Hi, @Naios !
Thanks for making
continuable
, it's a neat library!I passed an
absl::InlinedVector<T, N, A>
tocti::when_all()
, and to my surprise the continuables in it did not get connected to the hierarchy. Investigating further revealed that because of a substitution failure deep inside the container-remapping code, the code degraded from using the container logic to using the plain-value logic (for values "that aren't accepted by the mapper"). Specifically, it failed substitution forrebind_container()
. If I understand correctly, it failed because the template type signature ofabsl::InlinedVector
did not match the ones thatrebind_container()
tries to accept. I'm wondering whether it should somehow match against traits rather than template type parameter shape?Commit Hash
Used
continuable/4.2.0
andabseil/20210324.2
from conan, but I doubt it matters much.Expected Behavior
Print "Connection timed out\n"
Actual Behavior
Print "hi\n" + trap on exceptional unhandled continuable (SIGILL).
If the code is changed to use
std::vector
instead, expected behavior is observed.Steps to Reproduce
Example code:
Your Environment
The text was updated successfully, but these errors were encountered: