Skip to content

GH-49872: [C++] Remove deprecated std::is_trivial#49871

Merged
pitrou merged 2 commits into
apache:mainfrom
fdr400:fdr400-fix-deprecated-is-trivial
Apr 27, 2026
Merged

GH-49872: [C++] Remove deprecated std::is_trivial#49871
pitrou merged 2 commits into
apache:mainfrom
fdr400:fdr400-fix-deprecated-is-trivial

Conversation

@fdr400

@fdr400 fdr400 commented Apr 27, 2026

Copy link
Copy Markdown
Contributor

Resolves #49872

Rationale for this change

std::is_trivial is deprecated since C++26, so it leads to warning when building app with Apache Arrow and new C++ standard

What changes are included in this PR?

This PR applies suggestion from libc++ code: 'is_trivial<std::shared_ptr<arrow::io::ReadableFile>>' is deprecated: Consider using is_trivially_copyable<T>::value && is_trivially_default_constructible<T>::value instead

Are these changes tested?

Tested with CI

Are there any user-facing changes?

Changes allow user to build with warning as error flags

@github-actions

Copy link
Copy Markdown

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:

@fdr400 fdr400 changed the title fix arrow: remove deprecated is std::is_trivial GH-49872: [C++] remove deprecated is std::is_trivial Apr 27, 2026
@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #49872 has been automatically assigned in GitHub to PR creator.

@pitrou pitrou changed the title GH-49872: [C++] remove deprecated is std::is_trivial GH-49872: [C++] Remove deprecated std::is_trivial Apr 27, 2026
@pitrou pitrou added the CI: Extra: C++ Run extra C++ CI label Apr 27, 2026
@fdr400

fdr400 commented Apr 27, 2026

Copy link
Copy Markdown
Contributor Author

@pitrou hello! I am believe my contribution did not effect the failed Python CI job. But it seems that C++ Extra workflows was skipped because of that
Maybe we should rerun the CI?

@pitrou

pitrou commented Apr 27, 2026

Copy link
Copy Markdown
Member

I think the C++ Extra builds actually ran fine. Two of them were skipped for unrelated reasons.

And you're right that the macOS Python build failure looks unrelated.

@pitrou pitrou left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you @fdr400

@pitrou
pitrou merged commit e746bd3 into apache:main Apr 27, 2026
84 of 85 checks passed
@pitrou pitrou removed the awaiting review Awaiting review label Apr 27, 2026
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
Resolves apache#49872

### Rationale for this change

`std::is_trivial` is deprecated since C++26, so it leads to warning when building app with Apache Arrow and new C++ standard

### What changes are included in this PR?

This PR applies suggestion from libc++ code: `'is_trivial<std::shared_ptr<arrow::io::ReadableFile>>' is deprecated: Consider using is_trivially_copyable<T>::value && is_trivially_default_constructible<T>::value instead`

### Are these changes tested?

Tested with CI

### Are there any user-facing changes?

Changes allow user to build with warning as error flags
* GitHub Issue: apache#49872

Authored-by: Fedor Osetrov <33493672+fdr400@users.noreply.github.com>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[C++] remove deprecated is std::is_trivial

2 participants