-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 6.20/00
-
Fix Version/s: 6.22/00
-
Component/s: C++ modules, Core Libraries, PyROOT
-
Labels:None
-
Environment:
Centos7, gcc7.3.0
The list of methods of std::hash does not include anymore the no-args constructor nor the destructor:
root [0] TClass::GetClass("std::hash<std::string>")->GetListOfMethods()->ls()
|
OBJ: TListOfFunctions TListOfFunctions List of TFunctions for a class : 0
|
OBJ: TMethod operator() : 0 at: 0x3d058c0
|
size_t hash<string>::operator()(const string& __s) const
|
OBJ: TMethod hash<string> : 0 at: 0x3d48ab0
|
hash<string> hash<string>::hash<string>(const hash<string>&)
|
OBJ: TMethod operator= : 0 at: 0x3bd89d0
|
hash<string>& hash<string>::operator=(const hash<string>&)
|
OBJ: TMethod hash<string> : 0 at: 0x3d5bd00
|
hash<string> hash<string>::hash<string>(hash<string>&&)
|
OBJ: TMethod operator= : 0 at: 0x3cd86d0
|
hash<string>& hash<string>::operator=(hash<string>&&)
|
This also affects PyROOT:
>>> import ROOT
|
>>> h = ROOT.std.hash('std::string')()
|
Traceback (most recent call last):
|
File "<stdin>", line 1, in <module>
|
TypeError: none of the 2 overloaded methods succeeded. Full details:
|
hash<string>::hash<string>(const hash<string>&) =>
|
takes at least 1 arguments (0 given)
|
hash<string>::hash<string>(hash<string>&&) =>
|
takes at least 1 arguments (0 given)
|
>>>
|