You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The cppyy distribution included in ROOT emits different errors for 1 + c, 1. + c, and c + 1., where c is cppyy.gbl.std.complex['double']. Wim @wlav recommended me to report this behavior in the following issue report of cppyy. wlav/cppyy#277
$ ipython
Python 3.13.0 (main, Oct 7 2024, 05:02:14) [Clang 16.0.0 (clang-1600.0.26.4)]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.29.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import cppyy
In [2]: cppyy.__path__
Out[2]: ['/usr/local/root-6.32.08_install/lib/cppyy']
In [3]: c = cppyy.gbl.std.complex['double'](1, 1)
In [4]: 1 + c
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
Cell In[4], line 1
----> 1 1 + c
NotImplementedError:
In [1]: import cppyy
In [2]: c = cppyy.gbl.std.complex['double'](1, 1)
In [3]: c + 1.
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:53:56: error: no type named 'iterator_category' in 'std::iterator_traits<double>'
: public iterator<typename iterator_traits<_Iter>::iterator_category,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:302:20: note: in instantiation of template class 'std::reverse_iterator<double>' requested here
operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x) {
^
input_line_22:7:124: note: while substituting explicitly-specified template arguments into function template 'operator+'
new (ret) (std::complex<double>) (((std::complex<double> (&)(const std::complex<double> &, const double &))std::__1::operator+<double>)((const std::complex<double>&)*(const std::complex<double>*)args[0], (const double&)*(const double*)args[1]));
^
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:81:44: error: no type named 'iterator_category' in 'std::iterator_traits<double>'
typename iterator_traits<_Iter>::iterator_category>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:82:52: error: no type named 'pointer' in 'std::iterator_traits<double>'
using pointer = typename iterator_traits<_Iter>::pointer;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:89:60: error: no type named 'value_type' in 'std::iterator_traits<double>'
using value_type = typename iterator_traits<_Iter>::value_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:90:60: error: no type named 'difference_type' in 'std::iterator_traits<double>'
using difference_type = typename iterator_traits<_Iter>::difference_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/reverse_iterator.h:91:60: error: no type named 'reference' in 'std::iterator_traits<double>'
using reference = typename iterator_traits<_Iter>::reference;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/move_iterator.h:101:49: error: no type named 'iterator_category' in 'std::iterator_traits<double>'
typename iterator_traits<_Iter>::iterator_category >
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/move_iterator.h:328:20: note: in instantiation of template class 'std::move_iterator<double>' requested here
operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x) {
^
input_line_22:7:124: note: while substituting explicitly-specified template arguments into function template 'operator+'
new (ret) (std::complex<double>) (((std::complex<double> (&)(const std::complex<double> &, const double &))std::__1::operator+<double>)((const std::complex<double>&)*(const std::complex<double>*)args[0], (const double&)*(const double*)args[1]));
^
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/move_iterator.h:103:52: error: no type named 'value_type' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::value_type value_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/move_iterator.h:104:52: error: no type named 'difference_type' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::difference_type difference_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/move_iterator.h:107:52: error: no type named 'reference' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::reference __reference;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:31:52: error: no type named 'value_type' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::value_type value_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:194:20: note: in instantiation of template class 'std::__wrap_iter<double>' requested here
operator+(typename __wrap_iter<_Iter1>::difference_type __n, __wrap_iter<_Iter1> __x) _NOEXCEPT {
^
input_line_22:7:124: note: while substituting explicitly-specified template arguments into function template 'operator+'
new (ret) (std::complex<double>) (((std::complex<double> (&)(const std::complex<double> &, const double &))std::__1::operator+<double>)((const std::complex<double>&)*(const std::complex<double>*)args[0], (const double&)*(const double*)args[1]));
^
In module 'std' imported from input_line_1:1:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:32:52: error: no type named 'difference_type' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::difference_type difference_type;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:33:52: error: no type named 'pointer' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::pointer pointer;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:34:52: error: no type named 'reference' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::reference reference;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk/usr/include/c++/v1/__iterator/wrap_iter.h:35:52: error: no type named 'iterator_category' in 'std::iterator_traits<double>'
typedef typename iterator_traits<iterator_type>::iterator_category iterator_category;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[3], line 1
----> 1 c + 1.
ValueError: complex<double> std::operator+<double>(const complex<double>& __x, const double& __y) =>
ValueError: nullptr result where temporary expected
In [1]: import cppyy
In [2]: c = cppyy.gbl.std.complex['double'](1, 1)
In [3]: 1. + c
Error in <TClass::GetMethodWithPrototype>:
Did not find matching TMethod <operator+> with "double&, std::complex<double>&" for __1
Error in <TClass::GetMethodWithPrototype>:
Did not find matching TMethod <operator+> with "double, std::complex<double>" for __1
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
Reproducer
Please see the above description.
ROOT version
------------------------------------------------------------------
| Welcome to ROOT 6.32.08 https://root.cern |
| (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for macosxarm64 on Nov 26 2024, 08:17:22 |
| From tags/6-32-08@6-32-08 |
| With Apple clang version 16.0.0 (clang-1600.0.26.4) |
| Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
Installation method
CMake build from the source
Operating system
macOS 15.1.1
Additional context
No response
The text was updated successfully, but these errors were encountered:
Check duplicate issues.
Description
The
cppyy
distribution included in ROOT emits different errors for1 + c
,1. + c
, andc + 1.
, wherec
iscppyy.gbl.std.complex['double']
. Wim @wlav recommended me to report this behavior in the following issue report ofcppyy
.wlav/cppyy#277
Reproducer
Please see the above description.
ROOT version
Installation method
CMake build from the source
Operating system
macOS 15.1.1
Additional context
No response
The text was updated successfully, but these errors were encountered: