HomePhabricator

[libc++] Fix recursive instantiation in std::array.

Authored by EricWF on Apr 9 2020, 2:39 PM.

Description

[libc++] Fix recursive instantiation in std::array.

The use of the && ... fold expression in std::array's deduction guides
recursively builds a set of binary operator expressions of depth N where
N is the number of elements in the initializer.

This is problematic because arrays may be large, and instantiation
depth is limited.

This patch addresses the issue by flattening the SFINAE using
the existing __all type trait.

Details

Committed
EricWFApr 9 2020, 2:42 PM
Parents
rG9c86b83ffc8f: scudo: Replace ALIGNED macro with standard alignas specifier.
Branches
Unknown
Tags
Unknown