Bug 2336030

Summary: actor-framework fails to build with GCC 15 ("error: 'value' is not a member of 'caf::detail::tl_is_distinct<List>' [-Wtemplate-body]")
Product: [Fedora] Fedora Reporter: Dave Malcolm <dmalcolm>
Component: actor-frameworkAssignee: Felix Wang <topazus>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 42CC: topazus
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2333037    

Description Dave Malcolm 2025-01-06 22:46:32 UTC
I'm experimentally rebuilding rawhide with the not-yet-released GCC 15 to see if anything breaks, and to help write the porting guide.  See https://fedoraproject.org/wiki/User:Dmalcolm/gcc-15

My test build with GCC 15 failed:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed/build/8476063/

whereas my test build with GCC 14 succeeded:
https://copr.fedorainfracloud.org/coprs/dmalcolm/gcc-15-smoketest-3.failed.checker/build/8477622/

Looking at the failure logs e.g.
https://download.copr.fedorainfracloud.org/results/dmalcolm/gcc-15-smoketest-3.failed/fedora-rawhide-x86_64/08476063-actor-framework/builder-live.log.gz
I see:

build/actor-framework-1.0.1/libcaf_core/caf/abstract_mailbox.cpp
In file included from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/detail/type_traits.hpp:11,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/detail/append_hex.hpp:8,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/intrusive_ptr.hpp:7,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/actor_control_block.hpp:11,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/mailbox_element.hpp:7,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/abstract_mailbox.hpp:10,
                 from /builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/abstract_mailbox.cpp:5:
/builddir/build/BUILD/actor-framework-1.0.1-build/actor-framework-1.0.1/libcaf_core/caf/detail/type_list.hpp:354:55: error: ‘value’ is not a member of ‘caf::detail::tl_is_distinct<List>’ [-Wtemplate-body]
  354 |   static constexpr bool value = tl_is_distinct<List>::value;
      |                                                       ^~~~~

I don't yet know if this is a bug in the package, or in GCC 15, but filing here for now.

Reproducible: Always

Comment 1 Dave Malcolm 2025-01-07 20:08:28 UTC
ppalka mentioned to me in chat:

> error looks like correct/true positive to me:
> https://github.com/actor-framework/actor-framework/blob/1.0.1/libcaf_core/caf/detail/type_list.hpp#L354
> unintentional self referential definition of value

Comment 2 Aoife Moloney 2025-02-26 13:21:28 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 42 development cycle.
Changing version to 42.