This is an archive of the discontinued LLVM Phabricator instance.

Fix make_from_tuple when given a tuple containing rvalues
AbandonedPublic

Authored by zoecarver on Apr 29 2019, 7:55 PM.

Details

Summary

This patch attempts to fix 41643 by providing two __make_from_tuple_impl overloads. I am not sure if this is the best way to implement this (and I especially don't love __is_rvalue_tuple) so I am waiting to update tuple_cat (and possibly others) until this patch gets a green-light.

Diff Detail

Event Timeline

zoecarver created this revision.Apr 29 2019, 7:55 PM
jloser added a subscriber: jloser.Apr 29 2019, 9:17 PM
jloser added inline comments.
include/tuple
1386

Do we need specializations for volatile too?

zoecarver marked an inline comment as done.Apr 29 2019, 9:21 PM
zoecarver added inline comments.
include/tuple
1386

Yes, I will add that. There must be a better way to do this...

EricWF requested changes to this revision.Apr 29 2019, 10:45 PM

As mentioned on llvm.org/PR41643, this isn't a bug in libc++. We implement the standard as specified, and we can't change the required behavior of <tuple> without also changing the standard.

This change cannot proceed.

This revision now requires changes to proceed.Apr 29 2019, 10:45 PM
zoecarver abandoned this revision.Jun 1 2019, 9:47 AM