[all-commits] [llvm/llvm-project] e03c43: [libc++] Fix `tuple_cat` for element with unconstr...

A. Jiang via All-commits all-commits at lists.llvm.org
Tue Jan 14 07:26:36 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e03c435d2a4900eb442c1f68b044c21cbc89acbe
      https://github.com/llvm/llvm-project/commit/e03c435d2a4900eb442c1f68b044c21cbc89acbe
  Author: A. Jiang <de34 at live.cn>
  Date:   2025-01-14 (Tue, 14 Jan 2025)

  Changed paths:
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp

  Log Message:
  -----------
  [libc++] Fix `tuple_cat` for element with unconstrained constructor (#122433)

Currently, when the result type is 1-`tuple`, `tuple_cat` possibly tests
an undesired constructor of the element, due to conversion from the
reference tuple to the result type. If the element type has an
unconstrained constructor template, there can be extraneous hard error
which shouldn't happen.

This patch introduces a helper function template to select the element-wise
constructor template of `tuple`, which can avoid such error.

Fixes #41034.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list