[Bug 285204] devel/cereal: fix with clang 19 [-Wmissing-template-arg-list-after-template-kw] apply(ar, tuple)

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 24 Apr 2026 16:46:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285204

Robert Clausecker <fuz@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|ports-bugs@FreeBSD.org      |fuz@FreeBSD.org
                 CC|                            |fuz@FreeBSD.org
             Status|Open                        |In Progress

--- Comment #5 from Robert Clausecker <fuz@FreeBSD.org> ---
With this patch, the test suite of devel/cereal still fails:

/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:75:30:
error: non-constant-expression cannot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                    
   75 |       o_esplmultimap.insert({key,  { random_value<int>(gen),
random_value<int>(gen) }});                        
      |                              ^~~                                        
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:76:30:
error: non-constant-expression cannot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char
>::type' (aka 'char') to 'const signed char' in initializer list [-Wc++11-narrowing-const-reference]                    
   76 |       o_esplmultimap.insert({key,  { random_value<int>(gen),
random_value<int>(gen) }});                        
      |                              ^~~                                        
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:75:30:
error: non-constant-expression cannot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                       75 |      
o_esplmultimap.insert({key,  { random_value<int>(gen), random_value<int>(gen)
}});                              |                              ^~~            
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:34:3:
note: in instantiation of function template specialization
'test_multimap<cereal::BinaryInputArchive, cereal::BinaryOutputArchive>'
requested here          34 |   test_multimap<cereal::BinaryInputArchive,
cereal::BinaryOutputArchive>();                                           |   ^
                                                                               
                            In file included from
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:28: 
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:76:30:
error: non-constant-expression cannot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                       76 |      
o_esplmultimap.insert({key,  { random_value<int>(gen), random_value<int>(gen)
}});                              |                              ^~~           
                                                                   
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:75:30:
error: non-constant-expression c
annot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                       75 |      
o_esplmultimap.insert({key,  { random_value<int>(gen), random_value<int>(gen)
}});                              |                              ^~~           
                                                                   
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:39:3:
note: in instantiation of functio
n template specialization 'test_multimap<cereal::PortableBinaryInputArchive,
cereal::PortableBinaryOutputArchive>' requested here                           
                                                                               
      39 |   test_multimap<cereal::PortableBinaryInputArchive,
cereal::PortableBinaryOutputArchive>();                           |   ^        
                                                                               
                    In file included from
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:28: 
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:76:30:
error: non-constant-expression cannot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                       76 |      
o_esplmultimap.insert({key,  { random_value<int>(gen), random_value<int>(gen)
}});                              |                              ^~~           
                                                                   
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:75:30:
error: non-constant-expression c
annot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char>::type' (aka 'char') to 'const signed char' in initializer list
[-Wc++11-narrowing-const-reference]                       75 |      
o_esplmultimap.insert({key,  { random_value<int>(gen), random_value<int>(gen)
}});                              |                              ^~~           
                                                                   
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:44:3:
note: in instantiation of function template specialization
'test_multimap<cereal::XMLInputArchive, cereal::XMLOutputArchive>' requested
here             
   44 |   test_multimap<cereal::XMLInputArchive, cereal::XMLOutputArchive>();   
      |   ^                                                                     
In file included from
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.cpp:28: 
/usr/home/ports/main.ports/devel/cereal/work/cereal-1.3.2/unittests/multimap.hpp:76:30:
error: non-constant-expression c
annot be narrowed from type 'typename
std::enable_if<std::is_integral<char>::value && sizeof(char) == sizeof(char),
char
>::type' (aka 'char') to 'const signed char' in initializer list [-Wc++11-narrowing-const-reference]                    
   76 |       o_esplmultimap.insert({key,  { random_value<int>(gen),
random_value<int>(gen) }});                        
      |                              ^~~                                        
10 errors generated.

Please let me know if you wish to proceed anyways.

-- 
You are receiving this mail because:
You are the assignee for the bug.