Step 3 (of N?) fixing bug 16599

Howard Hinnant hhinnant at apple.com
Wed Jul 17 09:48:26 PDT 2013


On Jul 17, 2013, at 11:20 AM, Marshall Clow <mclow.lists at gmail.com> wrote:

> On Jul 16, 2013, at 2:20 PM, Marshall Clow <mclow.lists at gmail.com> wrote:
> 
>> On Jul 16, 2013, at 10:55 AM, Marshall Clow <mclow.lists at gmail.com> wrote:
>> 
>>> Make std::get constexpr.
>>> This affects std::array (which needs some changes), std::pair, and std::tuple.
>>> Includes tests for array and pair.
>>> 
>>> No tests for tuple yet, because while get(tuple) is marked as constexpr, it isn't really - yet.
>>> This is not a problem because, tuple's constructors (and make_tuple) aren't constexpr either - yet.
>>> 
>>> Fixing both of those will be step #4.
>> 
>> Better tests for non-const versions for array and pair (Thanks to Richard for the suggestions on how to test it)
>> Fix for std::get<>(array) [ to support non-const ]
> 
> Howard pointed out that I had not added constexpr tests for array::get/op[]/front/back.
> I replied that there were no tests for the non-constexpr versions of those routines, either ;-)
> 
> So I added them.

Thanks much for all your efforts on this patch that turned out to be surprisingly tricky.  And thanks to Richard for his assist on the tests as well.

Please commit this! :-)

Howard




More information about the cfe-commits mailing list