[all-commits] [llvm/llvm-project] 99696b: [libc++] Fix rejects-valid in std::span copy const...

Louis Dionne via All-commits all-commits at lists.llvm.org
Fri Aug 16 08:08:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b
      https://github.com/llvm/llvm-project/commit/99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-16 (Fri, 16 Aug 2024)

  Changed paths:
    M libcxx/include/span
    M libcxx/test/std/containers/views/views.span/span.cons/copy.pass.cpp

  Log Message:
  -----------
  [libc++] Fix rejects-valid in std::span copy construction (#104500)

Trying to copy-construct a std::span from another std::span holding an
incomplete type would fail as we evaluate the SFINAE for the range-based
constructor. The problem was that we checked for __is_std_span after
checking for the range being a contiguous_range, which hard-errored
because of arithmetic on a pointer to incomplete type.

As a drive-by, refactor the whole test and format it.

Fixes #104496



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