Description
Reproducer:
#include <ROOT/TDataFrame.hxx>
|
|
using TDF = ROOT::Experimental::TDataFrame; |
|
int main(){ |
|
auto fileName = "ranges.root"; |
auto treeName = "events"; |
|
TDF d(treeName, fileName);
|
|
auto d_0_30 = d.Range(0, 30)
|
.Define("b3", "b1 + b2") |
return 0; |
|
}
|
Fails at compile time:
/build/jenkins/workspace/root-nightly-v6-14-00-patches/BUILDTYPE/Release/COMPILER/gcc62/LABEL/slc6/build/include/ROOT/TDFInterface.hxx: In instantiation of ‘ROOT::Experimental::TDF::TInterface<Proxied, DataSource>::TInterfaceJittedDefine ROOT::Experimental::TDF::TInterface<Proxied, DataSource>::Define(std::string_view, std::string_view) [with Proxied = ROOT::Detail::TDF::TRange<ROOT::Detail::TDF::TLoopManager>; DataSource = void; ROOT::Experimental::TDF::TInterface<Proxied, DataSource>::TInterfaceJittedDefine = ROOT::Experimental::TDF::TInterface<ROOT::Detail::TDF::TRangeBase>; typename decltype (ROOT::Internal::TDF::UpcastNode(((ROOT::Experimental::TDF::TInterface<Proxied, DataSource>*)(void)0)->ROOT::Experimental::TDF::TInterface<Proxied, DataSource>::fProxiedPtr))::element_type = ROOT::Detail::TDF::TRangeBase; std::string_view = std::experimental::__ROOT::basic_string_view<char>]’:
|
range.cxx:15:42: required from here
|
/build/jenkins/workspace/root-nightly-v6-14-00-patches/BUILDTYPE/Release/COMPILER/gcc62/LABEL/slc6/build/include/ROOT/TDFInterface.hxx:348:14: error: could not convert ‘newInterface’ from ‘ROOT::Experimental::TDF::TInterface<ROOT::Detail::TDF::TRange<ROOT::Detail::TDF::TLoopManager>, void>’ to ‘ROOT::Experimental::TDF::TInterface<ROOT::Detail::TDF::TRange<ROOT::Detail::TDF::TLoopManager>, void>::TInterfaceJittedDefine {aka ROOT::Experimental::TDF::TInterface<ROOT::Detail::TDF::TRangeBase>}’
|
return newInterface;
|
^~~~~~~~~~~~
|