conflict happening between `DAS::Di` and `TTreaderArray`
The following discussion from !176 (merged) should be addressed:
-
@lmoureau started a discussion: (+1 comment)
The bug would be worth isolating for a report to upstream ROOT, or even fixing by editing
TTreeReaderArray.h
locally.
Because of a conflict happening between DAS::Di
and TTreaderArray
, we had to change to old-style loops in Unfolding/src/BF.cc
. Putting here the error message for the record:
/cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/include/c++/13.1.0/type_traits: In instantiation of 'constexpr const bool std::is_base_of_v<DAS::AbstractPhysicsObject, const TTreeReaderArray<DAS::Rec
Muon>::Iterator_t<TTreeReaderArray<DAS::RecMuon> > >':
/afs/desy.de/user/c/connorpa/DasAnalasisSystem/Core/../Core/Objects/interface/Di.h:93:44: required by substitution of 'template<class Obj1, class Obj2, class, class> auto operator+(Obj1&, Obj2&) [with Obj1 = c
onst TTreeReaderArray<DAS::RecMuon>::Iterator_t<TTreeReaderArray<DAS::RecMuon> >; Obj2 = long int; <template-parameter-1-3> = <missing>; <template-parameter-1-4> = <missing>]'
/cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-el9-gcc13-opt/include/TTreeReaderArray.h:171:84: required from 'class TTreeReaderArray<DAS::RecMuon>::Iterator_t<TTreeReaderArray<DAS::RecMuon> >'
/afs/desy.de/user/c/connorpa/DasAnalasisSystem/Core/Unfolding/src/BF.cc:88:36: required from here
/cvmfs/sft.cern.ch/lcg/releases/gcc/13.1.0-b3d18/x86_64-el9/include/c++/13.1.0/type_traits:3361:40: error: invalid use of incomplete type 'const class TTreeReaderArray<DAS::RecMuon>::Iterator_t<TTreeReaderArray<
DAS::RecMuon> >'
3361 | inline constexpr bool is_base_of_v = __is_base_of(_Base, _Derived);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /afs/desy.de/user/c/connorpa/DasAnalasisSystem/Core/../Core/Unfolding/interface/BF.h:8,
from /afs/desy.de/user/c/connorpa/DasAnalasisSystem/Core/Unfolding/src/BF.cc:2:
/cvmfs/sft.cern.ch/lcg/views/LCG_104/x86_64-el9-gcc13-opt/include/TTreeReaderArray.h:82:10: note: declaration of 'class TTreeReaderArray<DAS::RecMuon>::Iterator_t<TTreeReaderArray<DAS::RecMuon> >'
82 | class Iterator_t {
| ^~~~~~~~~~