Bug #23075
TFileDirectory::makeAndRegister(std::string, ...): couldn't deduce template parameter ‘T’
Start date:
08/07/2019
Due date:
% Done:
100%
Estimated time:
Scope:
Internal
Experiment:
ICARUS
Description
The implementation of TFileDirectory::makeAndRegister(std::string const& name, std::string const& title, ARGS... args) const
(art_root_io:source:art_root_io/TFileDirectory.h#L113) appears to be defective.
When calling TFileDirectory::makeAndRegister(const char* name, const char* title, ARGS... args) const
it does not specify the template parameter of the function, making the compiler panic:
/cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h: In instantiation of ‘T* art::TFileDirectory::makeAndRegister(const string&, const string&, ARGS ...) const [with T = TProfile; ARGS = {long unsigned int, double*}; std::__cxx11::string = std::__cxx11::basic_string<char>]’: [...] /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:118:10: error: no matching function for call to ‘art::TFileDirectory::makeAndRegister(const char*, const char*, long unsigned int&, double*&) const’ /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:97:3: note: candidate: template<class T, class ... ARGS> T* art::TFileDirectory::makeAndRegister(const char*, const char*, ARGS ...) const TFileDirectory::makeAndRegister(char const* name, ^~~~~~~~~~~~~~ /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:97:3: note: template argument deduction/substitution failed: /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:118:10: note: couldn't deduce template parameter ‘T’ auto ret = makeAndRegister(name.c_str(), title.c_str(), args...); ^~~ /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:113:3: note: candidate: template<class T, class ... ARGS> T* art::TFileDirectory::makeAndRegister(const string&, const string&, ARGS ...) const TFileDirectory::makeAndRegister(std::string const& name, ^~~~~~~~~~~~~~ /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:113:3: note: template argument deduction/substitution failed: /cvmfs/larsoft.opensciencegrid.org/products/art_root_io/v1_00_07/include/art_root_io/TFileDirectory.h:118:10: note: couldn't deduce template parameter ‘T’ auto ret = makeAndRegister(name.c_str(), title.c_str(), args...); ^~~
This is art_root_io
v1_00_07
.
History
#1 Updated by Kyle Knoepfel over 1 year ago
- Assignee set to Kyle Knoepfel
- Status changed from New to Assigned
Oops.
#2 Updated by Kyle Knoepfel over 1 year ago
- Scope deleted (
Internal) - % Done changed from 0 to 100
- Status changed from Assigned to Resolved
- Category deleted (
I/O) - Project changed from art to art_root_io
- Experiment ICARUS added
- Experiment deleted (
-)
Fixed with commit art_root_io:e95171.
#3 Updated by Kyle Knoepfel over 1 year ago
- Target version set to 1.00.10
#4 Updated by Kyle Knoepfel over 1 year ago
- Status changed from Resolved to Closed