GH-48588 [C++] Migrate to stdlib span#49492
GH-48588 [C++] Migrate to stdlib span#49492Anakin100100 wants to merge 4 commits intoapache:mainfrom
Conversation
|
Thanks for opening a pull request! If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project. Then could you also rename the pull request title in the following format? or See also: |
|
@pitrou can you take a look at this pr? It looks like the other one wasn't going to be finished and was stale so I made this one. |
|
@github-actions crossbow submit -g cpp |
|
@github-actions crossbow submit cran |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@Anakin100100 Can you rebase from main so that we try and get CI to pass? |
|
@github-actions crossbow submit cran |
|
@github-actions crossbow submit -g cpp |
|
@github-actions crossbow submit wheelcp314* |
|
Revision: 07ffe66 Submitted crossbow builds: ursacomputing/crossbow @ actions-a82b4a5a3f
|
|
Revision: 07ffe66 Submitted crossbow builds: ursacomputing/crossbow @ actions-e33421a69f |
|
Revision: 07ffe66 Submitted crossbow builds: ursacomputing/crossbow @ actions-43b13ce765 |
|
@WillAyd The C++ Meson failure here is probably an easy fix, do you perhaps want to push a fix on this PR or rather do it in another PR? |
pitrou
left a comment
There was a problem hiding this comment.
LGTM and CI looks green except for C++ Meson (other failures are unrelated).
Rationale for this change
C++ 20 already includes a span implementation so there is no reason to maintain a custom one in utils as described in #48588
What changes are included in this PR?
arrow::utils::span definition and tests are removed and usages are replaced with std::span. Some span comparisons in tests are replaced from ASSERT_EQ to ASSERT_TRUE(std::ranges::equal(span1, span2)) because ASSERT_EQ inernally relies on == operator which is not defined for some types that we used to compare.
Are these changes tested?
Yes
Are there any user-facing changes?
No