This is an archive of the discontinued LLVM Phabricator instance.

Fix tuple<A> to A conversion in SFINAE for tuple(_Up...) constructor
Needs ReviewPublic

Authored by eugenis on Apr 17 2015, 11:43 AM.

Details

Reviewers
mclow.lists
Summary

Diff Detail

Repository
rL LLVM

Event Timeline

eugenis updated this revision to Diff 23955.Apr 17 2015, 11:43 AM
eugenis retitled this revision from to Fix tuple<A> to A conversion in SFINAE for tuple(_Up...) constructor.
eugenis updated this object.
eugenis edited the test plan for this revision. (Show Details)
eugenis added reviewers: mclow.lists, EricWF.
eugenis set the repository for this revision to rL LLVM.
eugenis added a subscriber: Unknown Object (MLST).

friendly ping

EricWF edited edge metadata.May 1 2015, 12:04 AM

Tuple is tricky. If there is a bug in tuple you can bet that SFINAE is both the problem and the solution. constexpr constructors are becoming a frequent problem in the tuple SFINAE because they tend to cause hard compile errors. The SFINAE you added could easily introduce an almost identical bug in a different scenario.

Another reason I'm so hesitant to move forward with this patch is because they essentially contradicts D8178.

The first step to solving both of these bugs is to drastically increase the test coverage of tuple. The tests need to cover a much wider range of types than they currently do. Until then I think both these patches will need to wait in limbo.

Another possible fix up for review as D12502.

EricWF resigned from this revision.Apr 15 2016, 6:55 PM
EricWF removed a reviewer: EricWF.

Resigning as reviewer because this patch is no longer relevant.

I fixed the issues today in r266461.