Skip to content

[IO] Deprecate TStreamerElement::ESTLtype in favor of ROOT::ESTLType#15487

Merged
guitargeek merged 3 commits into
root-project:masterfrom
guitargeek:deprecate_streamelem_stltype
Jun 18, 2026
Merged

[IO] Deprecate TStreamerElement::ESTLtype in favor of ROOT::ESTLType#15487
guitargeek merged 3 commits into
root-project:masterfrom
guitargeek:deprecate_streamelem_stltype

Conversation

@guitargeek

Copy link
Copy Markdown
Contributor

Superseeds #7234 so I can open a corresponding roottest PR.

@github-actions

github-actions Bot commented May 11, 2024

Copy link
Copy Markdown

Test Results

    19 files      19 suites   2d 21h 6m 28s ⏱️
 3 869 tests  3 868 ✅ 0 💤 1 ❌
66 349 runs  66 348 ✅ 0 💤 1 ❌

For more details on these failures, see this check.

Results for commit ccef75f.

♻️ This comment has been updated with latest results.

@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch from 68e7442 to ee85064 Compare December 2, 2024 12:43
Comment thread core/foundation/inc/TClassEdit.h Outdated
@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch 2 times, most recently from 274f14c to 4f47133 Compare June 1, 2025 20:46
@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch from 4f47133 to 84967d8 Compare June 14, 2026 07:44
@guitargeek guitargeek requested a review from jblomer as a code owner June 14, 2026 07:44
@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch 2 times, most recently from 4601a5c to 5dc4a16 Compare June 17, 2026 07:09
@guitargeek guitargeek requested a review from vepadulano as a code owner June 17, 2026 07:09
@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch 2 times, most recently from a9d48bb to ccef75f Compare June 17, 2026 15:47
Comment thread README/ReleaseNotes/v642/index.md Outdated

@pcanal pcanal 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.

Thanks!

eguiraud and others added 3 commits June 18, 2026 07:40
A few classes have redundant declarations of `ESTLType` or `ESTLtype`
enums, that over time have been centralized in `ROOT::ESTLType`.
This patch deprecates usage of the historical copies in favor of the
common `ROOT::ESTLType`.
The latter enumerators are now deprecated.
Cppyy::ResolveEnum() determines an enum's underlying integer type by
JIT-compiling a probe expression of the form:

```c++
std::is_same<unsigned int, std::underlying_type<SomeEnum>::type>::value;
```

If the enum being resolved (or its enclosing scope) is marked deprecated,
this purely internal introspection emits a `-Wdeprecated-declarations`
warning to stderr. Since cppyy resolves enums while wrapping classes, the
warning surfaces in ordinary PyROOT sessions that merely touch a class
carrying such an enum.

This started breaking a range of roottest tests (which diff process output
against reference files) after the historical ESTLType/ESTLtype enum copies
in TClassEdit, TDictionary and TStreamerElement were deprecated.

Wrap the probe expression in clang diagnostic push/ignored/pop pragmas so
that resolving a deprecated enum stays silent.

🤖 Done by AI.
@guitargeek guitargeek force-pushed the deprecate_streamelem_stltype branch from ccef75f to 266f34e Compare June 18, 2026 05:40
@guitargeek guitargeek merged commit b56c913 into root-project:master Jun 18, 2026
28 of 30 checks passed
@guitargeek guitargeek deleted the deprecate_streamelem_stltype branch June 18, 2026 08:08
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.

3 participants