Skip to content

Conversation

@BwL1289
Copy link

@BwL1289 BwL1289 commented Aug 22, 2025

Rationale for this change

Arrow’s C++ codebase currently targets an older C++ standard. Moving to C++23 helps keep the project aligned with modern compiler defaults, enables new language features, and ensures continued compatibility with upcoming compiler versions.

During this upgrade, several forward declaration patterns used in the codebase became invalid under C++23 rules, requiring changes to maintain build correctness.

What changes are included in this PR?

This PR updates code to resolve forward declaration errors triggered by C++23 compliance checks. Specifically, it corrects invalid or outdated forward declarations that are rejected by C++23.

Applies the fixes in:

  • cpp/src/arrow/acero/asof_join_node.cc
  • cpp/src/arrow/filesystem/mockfs.cc
  • cpp/src/arrow/flight/types.h

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

@github-actions
Copy link

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?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@BwL1289 BwL1289 changed the title bwl1289/chore/rebase-47318 GH-47207: [C++][C++23] Upgrade Arrow to be compatible with C++23 rebase-47318 Aug 22, 2025
@BwL1289
Copy link
Author

BwL1289 commented Aug 22, 2025

@kou @lidavidm the rebased PR is here

@BwL1289
Copy link
Author

BwL1289 commented Aug 26, 2025

@kou bumping this

@kou
Copy link
Member

kou commented Aug 26, 2025

Could you use git rebase not git merge to avoid including needless changes such as https://github.com/apache/arrow/pull/47415/files#diff-a8a50af24f976aca78d9169c24e3c2f43c2b722b96769d4b0c6f19e65189e8ea ?

@BwL1289
Copy link
Author

BwL1289 commented Aug 26, 2025

This is rebased.

@kou kou added the CI: Extra Run extra CI label Aug 26, 2025
@kou
Copy link
Member

kou commented Aug 26, 2025

Could you share the command lines you used? It seems that the rebase target branch was wrong.

Anyway, there are many CI failures. We can't accept this change.

@BwL1289
Copy link
Author

BwL1289 commented Aug 26, 2025

Ok, I'm just going to close this then.

@BwL1289
Copy link
Author

BwL1289 commented Aug 27, 2025

FWIW, your comment: #47328 (comment)

git fetch https://github.com/apache/arrow pull/47318/head:pr-47318
git rebase pr-47318

@BwL1289 BwL1289 closed this Aug 27, 2025
@kou
Copy link
Member

kou commented Aug 27, 2025

You need to rebase on https://github.com/apache/arrow/tree/main not pull/47318/head.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants