Details
-
Type:
Bug
-
Status: Open (View Workflow)
-
Priority:
High
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
-
Environment:
LHCb Nightly builds against ROOT 6.20-patches
-
Development:
Description
I'm getting a compilation error from cling for code that compiles fine with gcc:
#define GAUDI_V20_COMPAT
|
#include "Functors/Function.h"
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
When I run it using the attached script I get the following:
$ bash functors-crash.txt
|
------------------------------------------------------------------
|
| Welcome to ROOT 6.19/03 https://root.cern |
|
| (c) 1995-2020, The ROOT Team; conception: R. Brun, F. Rademakers |
|
| Built for linuxx8664gcc on Jan 27 2020, 00:29:00 |
|
| From heads/v6-20-00-patches@v6-19-02-37-g7f8bc35 |
|
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
|
------------------------------------------------------------------
|
|
In file included from ROOT_prompt_1:1:
|
In file included from /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Function.h:12:
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:210:25: error: no matching constructor for initialization of 'std::unique_ptr<IFunctor>'
|
Functor( F func ) : m_functor( std::make_unique<FunctorImpl<F>>( std::move( func ) ) ) {}
|
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::Functor<Functors::AcceptAll>' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
ROOT_prompt_2:1:15: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>, Functors::AcceptAll>' requested here
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:203:2: note: candidate constructor not viable: no known conversion from 'typename _MakeUniq<FunctorImpl<AcceptAll> >::__single_object' (aka 'unique_ptr<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll> >') to
|
'std::unique_ptr<Functors::Functor<std::any ()>::IFunctor, std::default_delete<Functors::Functor<std::any ()>::IFunctor> >::pointer' (aka 'Functors::Functor<std::any ()>::IFunctor *') for 1st argument
|
unique_ptr(pointer __p) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:242:12: note: candidate constructor not viable: no known conversion from 'typename _MakeUniq<FunctorImpl<AcceptAll> >::__single_object' (aka 'unique_ptr<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll> >') to 'std::nullptr_t'
|
(aka 'nullptr_t') for 1st argument
|
constexpr unique_ptr(nullptr_t) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:249:7: note: candidate constructor not viable: no known conversion from 'unique_ptr<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, default_delete<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>>>' to
|
'unique_ptr<Functors::Functor<std::any ()>::IFunctor, default_delete<Functors::Functor<std::any ()>::IFunctor>>' for 1st argument
|
unique_ptr(unique_ptr&& __u) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:406:7: note: candidate constructor not viable: no known conversion from 'unique_ptr<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, default_delete<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>>>' to 'const
|
unique_ptr<Functors::Functor<std::any ()>::IFunctor, default_delete<Functors::Functor<std::any ()>::IFunctor>>' for 1st argument
|
unique_ptr(const unique_ptr&) = delete;
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:263:2: note: candidate template ignored: requirement '__and_<__and_<is_convertible<FunctorImpl<AcceptAll> *, IFunctor *>, __not_<is_array<FunctorImpl<AcceptAll> > > >, is_convertible<default_delete<FunctorImpl<AcceptAll> >, default_delete<IFunctor> >
|
>::value' was not satisfied [with _Up = Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, _Ep = std::default_delete<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll> >]
|
unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:273:2: note: candidate template ignored: could not match 'auto_ptr' against 'unique_ptr'
|
unique_ptr(auto_ptr<_Up>&& __u) noexcept;
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:191:12: note: candidate constructor template not viable: requires 0 arguments, but 1 was provided
|
constexpr unique_ptr() noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:216:2: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
|
unique_ptr(pointer __p, const deleter_type& __d) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:228:2: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
|
unique_ptr(pointer __p,
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:236:2: note: candidate constructor template not viable: requires 2 arguments, but 1 was provided
|
unique_ptr(pointer,
|
^
|
In module 'ROOTNTuple' imported from input_line_25:1:
|
/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/variant:1654:14: error: no matching function for call to '__do_visit'
|
return __do_visit(std::forward<_Visitor>(__visitor),
|
^~~~~~~~~~
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:163:23: note: in instantiation of function template specialization 'std::visit<std::reference_wrapper<const Functors::AcceptAll>>' requested here
|
return std::visit( std::move( f ), input... );
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:155:7: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::operator()' requested here
|
FunctorImpl( F f ) : m_f( std::move( f ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::FunctorImpl' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:210:41: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, Functors::AcceptAll>' requested here
|
Functor( F func ) : m_functor( std::make_unique<FunctorImpl<F>>( std::move( func ) ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::Functor<Functors::AcceptAll>' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
ROOT_prompt_2:1:15: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>, Functors::AcceptAll>' requested here
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
^
|
/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/variant:1629:5: note: candidate template ignored: couldn't infer template argument '__use_index'
|
__do_visit(_Visitor&& __visitor, _Variants&&... __variants)
|
^
|
/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/variant:1654:14: error: no matching function for call to '__do_visit'
|
return __do_visit(std::forward<_Visitor>(__visitor),
|
^~~~~~~~~~
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:68: note: in instantiation of function template specialization 'std::visit<const std::reference_wrapper<const Functors::AcceptAll> &>' requested here
|
return [f = std::move( f )]( auto&&... x ) { return std::visit( f, x... ); };
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/type_traits:2336:7: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::prepare(const Functors::TopLevelInfo &)::(anonymous class)::operator()<>' requested here
|
std::declval<_Fn>()(std::declval<_Args>()...)
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/type_traits:2347:24: note: while substituting deduced template arguments into function template '_S_test' [with _Fn = (lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18) &, _Args =
|
(no value)]
|
typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/type_traits:2353:14: note: in instantiation of template class 'std::__result_of_impl<false, false, (lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18) &>' requested here
|
: public __result_of_impl<
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/type_traits:2366:14: note: in instantiation of template class 'std::__invoke_result<(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18) &>' requested here
|
: public __invoke_result<_Functor, _ArgTypes...>
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/std_function.h:378:35: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
|
typename _Res2 = typename result_of<_Func&(_ArgTypes...)>::type>
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:155:7: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::prepare' requested here
|
FunctorImpl( F f ) : m_f( std::move( f ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::FunctorImpl' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:210:41: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, Functors::AcceptAll>' requested here
|
Functor( F func ) : m_functor( std::make_unique<FunctorImpl<F>>( std::move( func ) ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::Functor<Functors::AcceptAll>' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
ROOT_prompt_2:1:15: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>, Functors::AcceptAll>' requested here
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
^
|
/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/variant:1629:5: note: candidate template ignored: couldn't infer template argument '__use_index'
|
__do_visit(_Visitor&& __visitor, _Variants&&... __variants)
|
^
|
In file included from ROOT_prompt_1:1:
|
In file included from /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Function.h:12:
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18: error: no viable conversion from returned value of type '(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18)' to function return type
|
'Functors::Functor<std::any ()>::prepared_type' (aka 'function<std::any ()>')
|
return [f = std::move( f )]( auto&&... x ) { return std::visit( f, x... ); };
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:155:7: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::prepare' requested here
|
FunctorImpl( F f ) : m_f( std::move( f ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::FunctorImpl' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:210:41: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, Functors::AcceptAll>' requested here
|
Functor( F func ) : m_functor( std::make_unique<FunctorImpl<F>>( std::move( func ) ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::Functor<Functors::AcceptAll>' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
ROOT_prompt_2:1:15: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>, Functors::AcceptAll>' requested here
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/std_function.h:405:7: note: candidate constructor not viable: no known conversion from '(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18)' to 'std::nullptr_t' (aka 'nullptr_t') for
|
1st argument
|
function(nullptr_t) noexcept
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/std_function.h:416:7: note: candidate constructor not viable: no known conversion from '(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18)' to 'const std::function<std::any ()> &'
|
for 1st argument
|
function(const function& __x);
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/std_function.h:425:7: note: candidate constructor not viable: no known conversion from '(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18)' to 'std::function<std::any ()> &&' for 1st
|
argument
|
function(function&& __x) noexcept : _Function_base()
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/std_function.h:449:2: note: candidate template ignored: substitution failure [with _Functor = (lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18), $1 = void]: no type named 'type' in
|
'std::result_of<(lambda at /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:171:18) &()>'
|
function(_Functor);
|
^
|
In file included from ROOT_prompt_1:1:
|
In file included from /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Function.h:12:
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:179:36: error: no matching function for call to 'visit'
|
return typeid( decltype( std::visit( std::declval<prepared_t>(), std::declval<InputType>()... ) ) );
|
^~~~~~~~~~
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:155:7: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::rtype' requested here
|
FunctorImpl( F f ) : m_f( std::move( f ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of member function 'Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>::FunctorImpl' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
/cvmfs/lhcbdev.cern.ch/nightlies/lhcb-lcg-dev4/1169/Rec_HEAD/InstallArea/x86_64-centos7-gcc9-dbg/include/Functors/Core.h:210:41: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>::FunctorImpl<Functors::AcceptAll>, Functors::AcceptAll>' requested here
|
Functor( F func ) : m_functor( std::make_unique<FunctorImpl<F>>( std::move( func ) ) ) {}
|
^
|
/cvmfs/lhcb.cern.ch/lib/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/unique_ptr.h:849:34: note: in instantiation of function template specialization 'Functors::Functor<std::any ()>::Functor<Functors::AcceptAll>' requested here
|
{ return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
|
^
|
ROOT_prompt_2:1:15: note: in instantiation of function template specialization 'std::make_unique<Functors::Functor<std::any ()>, Functors::AcceptAll>' requested here
|
auto f = std::make_unique<Functors::Functor<std::any ()>>( ::Functors::AcceptAll{} );
|
^
|
/cvmfs/sft.cern.ch/lcg/releases/gcc/9.2.0-afc57/x86_64-centos7/bin/../lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/variant:1649:5: note: candidate template ignored: substitution failure [with _Visitor = std::reference_wrapper<const Functors::AcceptAll>, _Variants = <>]
|
visit(_Visitor&& __visitor, _Variants&&... __variants)
|
^
|
BTW, this code works with ROOT 6.18/04.
Attachments
Issue Links
- is duplicated by
-
ROOT-10754 [cling] Miscompilation with make_shared/shared_ptr
-
- Closed
-