Created
May 11, 2020 03:42
-
-
Save turtlesoupy/61d66bf4b3c01f733a0ffb875f781d6c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Processing /home/tdimson/projects/skimpy | |
Building wheels for collected packages: skimpy | |
Building wheel for skimpy (setup.py): started | |
Building wheel for skimpy (setup.py): finished with status 'error' | |
ERROR: Command errored out with exit status 1: | |
command: /home/tdimson/anaconda3/envs/skimpy/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/tdimson/projects/skimpy/setup.py'"'"'; __file__='"'"'/home/tdimson/projects/skimpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-x6ym153g | |
cwd: /home/tdimson/projects/skimpy/ | |
Complete output (1511 lines): | |
running bdist_wheel | |
running build | |
running build_ext | |
Generating cmake build... | |
** AsmJit Summary ** | |
ASMJIT_DIR=/home/tdimson/projects/skimpy/third_party/asmjit | |
ASMJIT_TEST=FALSE | |
ASMJIT_TARGET_TYPE=STATIC | |
ASMJIT_DEPS=pthread;rt | |
ASMJIT_LIBS=asmjit;pthread;rt | |
ASMJIT_CFLAGS=-DASMJIT_STATIC | |
ASMJIT_PRIVATE_CFLAGS=-Wall;-Wextra;-fno-math-errno;-fno-threadsafe-statics;-fno-semantic-interposition;-DASMJIT_STATIC | |
ASMJIT_PRIVATE_CFLAGS_DBG= | |
ASMJIT_PRIVATE_CFLAGS_REL=-O2;-fmerge-all-constants | |
-- Version: 6.1.3 | |
-- Build type: Release | |
-- CXX_STANDARD: 11 | |
-- Required features: cxx_variadic_templates | |
-- pybind11 v2.4.dev4 | |
-- Found OpenMP_CXX: -fopenmp | |
-- Found OpenMP: TRUE | |
-- Configuring done | |
-- Generating done | |
-- Build files have been written to: /home/tdimson/projects/skimpy/build/temp.linux-x86_64-3.7 | |
Executing cmake build... | |
[ 60%] Built target fmt | |
[ 80%] Building CXX object python/CMakeFiles/skimpy_ext.dir/skimpy_ext.cpp.o | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp: In member function ‘Val skimpy::detail::core::Range<Val>::get(skimpy::detail::core::Pos) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:99:31: error: ‘ends’ was not declared in this scope; did you mean ‘std::ends’? | |
99 | return *std::upper_bound(&ends[0], &ends[size], start + pos); | |
| ^~~~ | |
| std::ends | |
In file included from /usr/include/c++/9/istream:39, | |
from /usr/include/c++/9/sstream:38, | |
from /usr/include/c++/9/complex:45, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/complex.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:13, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/ostream:611:5: note: ‘std::ends’ declared here | |
611 | ends(basic_ostream<_CharT, _Traits>& __os) | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In function ‘auto skimpy::detail::make_fix(Fn&&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:23: error: ‘foward’ is not a member of ‘std’; did you mean ‘forward’? | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^~~~~~ | |
| forward | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:17: error: expected primary-expression before ‘(’ token | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:23: error: ‘foward’ is not a member of ‘std’; did you mean ‘forward’? | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^~~~~~ | |
| forward | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:32: error: expected primary-expression before ‘>’ token | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp: In function ‘auto skimpy::detail::step::compose(F&&, G&&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:48:4: error: expected ‘;’ before ‘}’ token | |
48 | } | |
| ^ | |
| ; | |
49 | } | |
| ~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp: In function ‘auto skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:324:40: error: ‘hardware_destructive_interference_size’ is not a member of ‘std’ | |
324 | constexpr auto kCacheLineSize = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Store<Val>::Store(std::shared_ptr<skimpy::detail::core::Store<Val> >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:66:9: error: class ‘skimpy::detail::lang::Store<Val>’ does not have any field named ‘Op’ | |
66 | : Op(store->span(), 1, 1), store(std::move(store)) { | |
| ^~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:6, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:67:20: error: there are no arguments to ‘span’ that depend on a template parameter, so a declaration of ‘span’ must be available [-fpermissive] | |
67 | CHECK_ARGUMENT(span()); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:17:11: note: in definition of macro ‘CHECK_ARGUMENT’ | |
17 | if (!(cond)) { \ | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:67:20: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) | |
67 | CHECK_ARGUMENT(span()); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:17:11: note: in definition of macro ‘CHECK_ARGUMENT’ | |
17 | if (!(cond)) { \ | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Slice<Val>::Slice(std::shared_ptr<skimpy::detail::lang::Op<Val> >, int, int, int)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:79:9: error: class ‘skimpy::detail::lang::Slice<Val>’ does not have any field named ‘Op’ | |
79 | : Op(1 + (stop - start - 1) / stride, | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Stack<Val>::Stack(std::vector<std::shared_ptr<skimpy::detail::lang::Op<Val> > >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:98:9: error: class ‘skimpy::detail::lang::Stack<Val>’ does not have any field named ‘Op’ | |
98 | : Op(sum(inputs, [](const auto& op) { return op->span(); }), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Merge<Val>::Merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Merge<Val>::Fn)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:131:9: error: class ‘skimpy::detail::lang::Merge<Val>’ does not have any field named ‘Op’ | |
131 | : Op(lhs->span(), 1 + lhs->depth(), 1 + lhs->count()), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Apply<Val>::Apply(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Apply<Val>::Fn)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:146:9: error: class ‘skimpy::detail::lang::Apply<Val>’ does not have any field named ‘Op’ | |
146 | : Op(input->span(), 1 + input->depth(), 1 + input->count()), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In member function ‘std::size_t skimpy::detail::lang::OpHash<Val>::operator()(skimpy::detail::lang::OpPtr<Val>&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:196:34: error: expected primary-expression before ‘>’ token | |
196 | if (auto p = op->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:196:37: error: expected primary-expression before ‘)’ token | |
196 | if (auto p = op->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:198:41: error: expected primary-expression before ‘>’ token | |
198 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:198:44: error: expected primary-expression before ‘)’ token | |
198 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:200:41: error: expected primary-expression before ‘>’ token | |
200 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:200:44: error: expected primary-expression before ‘)’ token | |
200 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:202:41: error: expected primary-expression before ‘>’ token | |
202 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:202:44: error: expected primary-expression before ‘)’ token | |
202 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:204:41: error: expected primary-expression before ‘>’ token | |
204 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:204:44: error: expected primary-expression before ‘)’ token | |
204 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In member function ‘bool skimpy::detail::lang::OpEqualTo<Val>::operator()(skimpy::detail::lang::OpPtr<Val>&, skimpy::detail::lang::OpPtr<Val>&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:215:35: error: expected primary-expression before ‘>’ token | |
215 | if (auto l = lop->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:215:38: error: expected primary-expression before ‘)’ token | |
215 | if (auto l = lop->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:216:37: error: expected primary-expression before ‘>’ token | |
216 | if (auto r = rop->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:216:40: error: expected primary-expression before ‘)’ token | |
216 | if (auto r = rop->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:219:42: error: expected primary-expression before ‘>’ token | |
219 | } else if (auto l = lop->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:219:45: error: expected primary-expression before ‘)’ token | |
219 | } else if (auto l = lop->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:220:37: error: expected primary-expression before ‘>’ token | |
220 | if (auto r = rop->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:220:40: error: expected primary-expression before ‘)’ token | |
220 | if (auto r = rop->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:225:42: error: expected primary-expression before ‘>’ token | |
225 | } else if (auto l = lop->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:225:45: error: expected primary-expression before ‘)’ token | |
225 | } else if (auto l = lop->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:226:37: error: expected primary-expression before ‘>’ token | |
226 | if (auto r = rop->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:226:40: error: expected primary-expression before ‘)’ token | |
226 | if (auto r = rop->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:229:42: error: expected primary-expression before ‘>’ token | |
229 | } else if (auto l = lop->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:229:45: error: expected primary-expression before ‘)’ token | |
229 | } else if (auto l = lop->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:230:37: error: expected primary-expression before ‘>’ token | |
230 | if (auto r = rop->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:230:40: error: expected primary-expression before ‘)’ token | |
230 | if (auto r = rop->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:233:42: error: expected primary-expression before ‘>’ token | |
233 | } else if (auto l = lop->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:233:45: error: expected primary-expression before ‘)’ token | |
233 | } else if (auto l = lop->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:234:37: error: expected primary-expression before ‘>’ token | |
234 | if (auto r = rop->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:234:40: error: expected primary-expression before ‘)’ token | |
234 | if (auto r = rop->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:318:34: error: expected primary-expression before ‘>’ token | |
318 | if (auto p = op->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:318:37: error: expected primary-expression before ‘)’ token | |
318 | if (auto p = op->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:320:41: error: expected primary-expression before ‘>’ token | |
320 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:320:44: error: expected primary-expression before ‘)’ token | |
320 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:322:41: error: expected primary-expression before ‘>’ token | |
322 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:322:44: error: expected primary-expression before ‘)’ token | |
322 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:325:41: error: expected primary-expression before ‘>’ token | |
325 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:325:44: error: expected primary-expression before ‘)’ token | |
325 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:329:41: error: expected primary-expression before ‘>’ token | |
329 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:329:44: error: expected primary-expression before ‘)’ token | |
329 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::str(skimpy::detail::lang::OpPtr<Val>&, const char*)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:352:36: error: expected primary-expression before ‘>’ token | |
352 | if (auto p = stmt->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:352:39: error: expected primary-expression before ‘)’ token | |
352 | if (auto p = stmt->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:360:43: error: expected primary-expression before ‘>’ token | |
360 | } else if (auto p = stmt->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:360:46: error: expected primary-expression before ‘)’ token | |
360 | } else if (auto p = stmt->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:369:43: error: expected primary-expression before ‘>’ token | |
369 | } else if (auto p = stmt->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:369:46: error: expected primary-expression before ‘)’ token | |
369 | } else if (auto p = stmt->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:378:43: error: expected primary-expression before ‘>’ token | |
378 | } else if (auto p = stmt->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:378:46: error: expected primary-expression before ‘)’ token | |
378 | } else if (auto p = stmt->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:385:43: error: expected primary-expression before ‘>’ token | |
385 | } else if (auto p = stmt->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:385:46: error: expected primary-expression before ‘)’ token | |
385 | } else if (auto p = stmt->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:417:31: error: expected primary-expression before ‘>’ token | |
417 | if (old_op->is<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:417:34: error: expected primary-expression before ‘)’ token | |
417 | if (old_op->is<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:423:40: error: expected primary-expression before ‘>’ token | |
423 | if (auto p = old_op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:423:43: error: expected primary-expression before ‘)’ token | |
423 | if (auto p = old_op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:424:59: error: expected primary-expression before ‘>’ token | |
424 | const auto& c = new_ops.at(p->input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:424:62: error: expected primary-expression before ‘)’ token | |
424 | const auto& c = new_ops.at(p->input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:441:47: error: expected primary-expression before ‘>’ token | |
441 | } else if (auto p = old_op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:441:50: error: expected primary-expression before ‘)’ token | |
441 | } else if (auto p = old_op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:446:60: error: expected primary-expression before ‘>’ token | |
446 | const auto& c = new_ops.at(p_input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:446:63: error: expected primary-expression before ‘)’ token | |
446 | const auto& c = new_ops.at(p_input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:453:47: error: expected primary-expression before ‘>’ token | |
453 | } else if (auto p = old_op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:453:50: error: expected primary-expression before ‘)’ token | |
453 | } else if (auto p = old_op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:454:52: error: expected primary-expression before ‘>’ token | |
454 | auto c_1 = new_ops.at(p->lhs)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:454:55: error: expected primary-expression before ‘)’ token | |
454 | auto c_1 = new_ops.at(p->lhs)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:455:52: error: expected primary-expression before ‘>’ token | |
455 | auto c_2 = new_ops.at(p->rhs)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:455:55: error: expected primary-expression before ‘)’ token | |
455 | auto c_2 = new_ops.at(p->rhs)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:500:43: error: expected primary-expression before ‘>’ token | |
500 | auto parent = old_op->to<Apply<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:500:46: error: expected primary-expression before ‘)’ token | |
500 | auto parent = old_op->to<Apply<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:501:56: error: expected primary-expression before ‘>’ token | |
501 | auto c = new_ops.at(parent.input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:501:59: error: expected primary-expression before ‘)’ token | |
501 | auto c = new_ops.at(parent.input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:517:25: error: expected primary-expression before ‘>’ token | |
517 | if (op->is<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:517:28: error: expected primary-expression before ‘)’ token | |
517 | if (op->is<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:521:34: error: expected primary-expression before ‘>’ token | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:521:37: error: expected primary-expression before ‘)’ token | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:523:42: error: expected primary-expression before ‘>’ token | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:523:45: error: expected primary-expression before ‘)’ token | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:525:49: error: expected primary-expression before ‘>’ token | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:525:52: error: expected primary-expression before ‘)’ token | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:531:49: error: expected primary-expression before ‘>’ token | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:531:52: error: expected primary-expression before ‘)’ token | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:537:49: error: expected primary-expression before ‘>’ token | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:537:52: error: expected primary-expression before ‘)’ token | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:544:41: error: expected primary-expression before ‘>’ token | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:544:44: error: expected primary-expression before ‘)’ token | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:547:41: error: expected primary-expression before ‘>’ token | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:547:44: error: expected primary-expression before ‘)’ token | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:551:41: error: expected primary-expression before ‘>’ token | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:551:44: error: expected primary-expression before ‘)’ token | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:6, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:565:40: error: expected primary-expression before ‘>’ token | |
565 | CHECK_STATE(normal_form->is<Stack<Val>>()); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:9:11: note: in definition of macro ‘CHECK_STATE’ | |
9 | if (!(cond)) { \ | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:565:43: error: expected primary-expression before ‘)’ token | |
565 | CHECK_STATE(normal_form->is<Stack<Val>>()); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:9:11: note: in definition of macro ‘CHECK_STATE’ | |
9 | if (!(cond)) { \ | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:570:52: error: expected primary-expression before ‘>’ token | |
570 | for (const auto& root : normal_form->to<Stack<Val>>().inputs) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:570:55: error: expected primary-expression before ‘)’ token | |
570 | for (const auto& root : normal_form->to<Stack<Val>>().inputs) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:575:9: error: need ‘typename’ before ‘skimpy::detail::lang::Apply<Val>::Fn’ because ‘skimpy::detail::lang::Apply<Val>’ is a dependent scope | |
575 | Apply<Val>::Fn apply_fn; | |
| ^~~~~~~~~~ | |
| typename | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:576:9: error: need ‘typename’ before ‘skimpy::detail::lang::Merge<Val>::Fn’ because ‘skimpy::detail::lang::Merge<Val>’ is a dependent scope | |
576 | Merge<Val>::Fn merge_fn; | |
| ^~~~~~~~~~ | |
| typename | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:39: error: ‘hardware_destructive_interference_size’ is not a member of ‘std’ | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc::EvalFunc(int)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:588:39: error: use of local variable with automatic storage from containing function | |
588 | stack(new Val[stack_size, kStackAlign]), | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:20: note: ‘constexpr<typeprefixerror> kStackAlign’ declared here | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In copy constructor ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc::EvalFunc(const skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:593:42: error: use of local variable with automatic storage from containing function | |
593 | stack(new Val[ef.stack_size, kStackAlign]), | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:20: note: ‘constexpr<typeprefixerror> kStackAlign’ declared here | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:623:36: error: expected primary-expression before ‘>’ token | |
623 | if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:623:39: error: expected primary-expression before ‘)’ token | |
623 | if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:624:51: error: expected primary-expression before ‘>’ token | |
624 | const auto& store = p->input->to<Store<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:624:54: error: expected primary-expression before ‘)’ token | |
624 | const auto& store = p->input->to<Store<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:630:43: error: expected primary-expression before ‘>’ token | |
630 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:630:46: error: expected primary-expression before ‘)’ token | |
630 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:636:43: error: expected primary-expression before ‘>’ token | |
636 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:636:46: error: expected primary-expression before ‘)’ token | |
636 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In constructor ‘skimpy::ArrayBuilder<Val>::ArrayBuilder(std::shared_ptr<skimpy::detail::core::Store<Val> >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:67:9: error: ‘ArrayVal’ was not declared in this scope; did you mean ‘Array’? | |
67 | set(ArrayVal<Val>(store)); | |
| ^~~~~~~~ | |
| Array | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:67:21: error: expected primary-expression before ‘>’ token | |
67 | set(ArrayVal<Val>(store)); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::min(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:250:20: error: ‘min’ is not a member of ‘skimpy’; did you mean ‘std::min’? | |
250 | return skimpy::min(*this, other); | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:3450:5: note: ‘std::min’ declared here | |
3450 | min(initializer_list<_Tp> __l, _Compare __comp) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::max(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:254:20: error: ‘max’ is not a member of ‘skimpy’; did you mean ‘std::max’? | |
254 | return skimpy::max(*this, other); | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: ‘std::max’ declared here | |
3462 | max(initializer_list<_Tp> __l, _Compare __comp) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::pow(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:258:20: error: ‘pow’ is not a member of ‘skimpy’ | |
258 | return skimpy::pow(*this, other); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:258:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:388:3: note: ‘pow’ | |
388 | pow(float __x, float __y) | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:549:1: note: ‘std::pow’ | |
549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::abs() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:261:20: error: ‘abs’ is not a member of ‘skimpy’ | |
261 | return skimpy::abs(*this); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:261:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/cstdlib:77, | |
from /usr/include/c++/9/stdlib.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:34, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/std_abs.h:56:3: note: ‘abs’ | |
56 | abs(long __i) { return __builtin_labs(__i); } | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:445:5: note: ‘std::abs’ | |
445 | _DEFINE_EXPR_UNARY_FUNCTION(abs, _Abs) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/c++/9/thread:38, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:7, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/usr/include/c++/9/chrono:263:7: note: ‘std::chrono::abs’ | |
263 | abs(duration<_Rep, _Period> __d) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::sqrt() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:264:20: error: ‘sqrt’ is not a member of ‘skimpy’ | |
264 | return skimpy::sqrt(*this); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:264:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:463:3: note: ‘sqrt’ | |
463 | sqrt(float __x) | |
| ^~~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:458:5: note: ‘std::sqrt’ | |
458 | _DEFINE_EXPR_UNARY_FUNCTION(sqrt, _Sqrt) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::exp() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:267:20: error: ‘exp’ is not a member of ‘skimpy’ | |
267 | return skimpy::exp(*this); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:267:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:222:3: note: ‘exp’ | |
222 | exp(float __x) | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:455:5: note: ‘std::exp’ | |
455 | _DEFINE_EXPR_UNARY_FUNCTION(exp, _Exp) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: error: no match for call to ‘(skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >) (skimpy::detail::lang::OpPtr<int>&)’ | |
280 | auto ret = tr(op); | |
| ~~^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) const [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
56 | auto operator()(Args&&... args) const -> decltype( | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) const [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:57:10: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
57 | fn_(std::declval<const Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
66 | auto operator()(Args&&... args) | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:67:22: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
67 | -> decltype(fn_(std::declval<Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/c++/9/unordered_set:46, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:147, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/hashtable.h: In instantiation of ‘class std::_Hashtable<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > >, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > > >, std::__detail::_Select1st, skimpy::detail::lang::OpEqualTo<int>, skimpy::detail::lang::OpHash<int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’: | |
/usr/include/c++/9/bits/unordered_map.h:105:18: required from ‘class std::unordered_map<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::lang::OpHash<int>, skimpy::detail::lang::OpEqualTo<int>, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > > > >’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:414:30: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/usr/include/c++/9/bits/hashtable.h:275:21: error: static assertion failed: Cache the hash code or qualify your functors involved in hash code and bucket index computation with noexcept | |
275 | static_assert(noexcept(declval<const __hash_code_base_access&>() | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
276 | ._M_bucket_index((const __node_type*)nullptr, | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
277 | (std::size_t)0)), | |
| ~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/hashtable.h: In instantiation of ‘class std::_Hashtable<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > >, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > > >, std::__detail::_Select1st, skimpy::detail::lang::OpEqualTo<int>, skimpy::detail::lang::OpHash<int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’: | |
/usr/include/c++/9/bits/unordered_map.h:105:18: required from ‘class std::unordered_map<std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > >, skimpy::detail::lang::OpHash<int>, skimpy::detail::lang::OpEqualTo<int>, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > > > >’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:302:46: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/usr/include/c++/9/bits/hashtable.h:275:21: error: static assertion failed: Cache the hash code or qualify your functors involved in hash code and bucket index computation with noexcept | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: error: no match for call to ‘(skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >) (skimpy::detail::lang::OpPtr<int>&)’ | |
280 | auto ret = tr(op); | |
| ~~^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) const [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
56 | auto operator()(Args&&... args) const -> decltype( | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) const [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:57:10: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
57 | fn_(std::declval<const Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
66 | auto operator()(Args&&... args) | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:67:22: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
67 | -> decltype(fn_(std::declval<Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: error: no match for ‘operator=’ (operand types are ‘skimpy::detail::lang::OpPtr<int>’ {aka ‘std::shared_ptr<skimpy::detail::lang::Op<int> >’} and ‘void’) | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:103:11: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = skimpy::detail::lang::Op<int>]’ | |
103 | class shared_ptr : public __shared_ptr<_Tp> | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:309:29: note: no known conversion for argument 1 from ‘void’ to ‘const std::shared_ptr<skimpy::detail::lang::Op<int> >&’ | |
309 | shared_ptr& operator=(const shared_ptr&) noexcept = default; | |
| ^~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<const std::shared_ptr<_Yp>&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
313 | operator=(const shared_ptr<_Yp>& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘const std::shared_ptr<_Tp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::auto_ptr<_Up> > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
324 | operator=(auto_ptr<_Yp>&& __r) | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::auto_ptr<_Up>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:333:7: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = skimpy::detail::lang::Op<int>]’ | |
333 | operator=(shared_ptr&& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:333:30: note: no known conversion for argument 1 from ‘void’ to ‘std::shared_ptr<skimpy::detail::lang::Op<int> >&&’ | |
333 | operator=(shared_ptr&& __r) noexcept | |
| ~~~~~~~~~~~~~^~~ | |
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
341 | operator=(shared_ptr<_Yp>&& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::shared_ptr<_Tp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: candidate: ‘template<class _Yp, class _Del> std::shared_ptr<_Tp>::_Assignable<std::unique_ptr<_Up, _Ep> > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = skimpy::detail::lang::Op<int>]’ | |
349 | operator=(unique_ptr<_Yp, _Del>&& __r) | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:610:28: error: ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’ has no member named ‘merge_fn’ | |
610 | *(sp - 2) = cn.merge_fn(*(sp - 2), *(sp - 1)); | |
| ~~~^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:614:28: error: ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’ has no member named ‘apply_fn’ | |
614 | *(sp - 1) = cn.apply_fn(*(sp - 1)); | |
| ~~~^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:635:25: error: ‘__gnu_cxx::__alloc_traits<std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>, skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>::value_type’ {aka ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’} has no member named ‘merge_fn’ | |
635 | ef_nodes.back().merge_fn = p->fn; | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:640:25: error: ‘__gnu_cxx::__alloc_traits<std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>, skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>::value_type’ {aka ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’} has no member named ‘apply_fn’ | |
640 | ef_nodes.back().apply_fn = p->fn; | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(skimpy::detail::core::Pos, Val) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::core::Pos = int]’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:156:46: required from ‘skimpy::Array<Val>::Array(skimpy::Pos, Val) [with Val = int; skimpy::Pos = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:205:14: required from ‘void skimpy::Array<Val>::set(skimpy::Pos, Val) [with Val = int; skimpy::Pos = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:109:67: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:157:15: error: no matching function for call to ‘store(std::remove_reference<std::shared_ptr<skimpy::detail::core::Store<int> >&>::type)’ | |
157 | return store(std::move(s)); | |
| ~~~~~^~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:152:19: note: candidate: ‘template<class Val> skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(skimpy::detail::core::Pos, Val)’ | |
152 | inline OpPtr<Val> store(core::Pos span, Val fill) { | |
| ^~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:152:19: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:157:15: note: candidate expects 2 arguments, 1 provided | |
157 | return store(std::move(s)); | |
| ~~~~~^~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Store<Val>::Store(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Store<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>]’ | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:162:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:155:70: required from ‘skimpy::Array<Val>::Array(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:47:36: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:66:56: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
66 | : Op(store->span(), 1, 1), store(std::move(store)) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Slice<Val>::Slice(std::shared_ptr<skimpy::detail::lang::Op<Val> >, int, int, int) [with Val = int]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Slice<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>]’ | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:167:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::slice(skimpy::detail::lang::OpPtr<Val>, int, int, int) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:232:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::get(const skimpy::Slice&) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:105:61: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:85:22: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
85 | stride(stride) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Apply<Val>::Apply(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Apply<Val>::Fn) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::lang::Apply<Val>::Fn = int (*)(int)]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Apply<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:189:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::apply(skimpy::detail::lang::OpPtr<Val>, Fun&&) [with Val = int; Fun = int (*&)(int); skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:240:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::apply(Val (*)(Val)) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:296:46: required from ‘skimpy::Array<Val> skimpy::operator-(const skimpy::Array<Val>&) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:120:58: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:148:14: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
148 | fn(fn) {} | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Merge<Val>::Merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Merge<Val>::Fn) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::lang::Merge<Val>::Fn = int (*)(int, int)]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Merge<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:183:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, Fun&&) [with Val = int; Fun = int (*&)(int, int); skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:237:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::merge(const skimpy::Array<Val>&, Val (*)(Val, Val)) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:307:59: required from ‘skimpy::Array<Val> skimpy::operator+(const skimpy::Array<Val>&, const skimpy::Array<Val>&) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:129:27: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:134:14: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
134 | fn(fn) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: At global scope: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:53:3: error: ‘skimpy::detail::Fix<Fn>::Fix(Fn&&) [with Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’, declared using local type ‘skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>’, is used but never defined [-fpermissive] | |
53 | Fix(Fn&& fn) : fn_(std::forward<Fn>(fn)) {} | |
| ^~~ | |
In file included from /usr/include/c++/9/bits/stl_algobase.h:67, | |
from /usr/include/c++/9/bits/specfun.h:45, | |
from /usr/include/c++/9/cmath:1927, | |
from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_iterator.h:819:7: error: ‘__gnu_cxx::__normal_iterator<_Iterator, _Container>::reference __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*() const [with _Iterator = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode*; _Container = std::vector<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode, std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode> >; __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode&]’, declared using local type ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’, is used but never defined [-fpermissive] | |
819 | operator*() const _GLIBCXX_NOEXCEPT | |
| ^~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:53:3: error: ‘skimpy::detail::Fix<Fn>::Fix(Fn&&) [with Fn = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:47&, skimpy::detail::lang::OpPtr<int>&)>]’, declared using local type ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:47&, skimpy::detail::lang::OpPtr<int>&)>’, is used but never defined [-fpermissive] | |
53 | Fix(Fn&& fn) : fn_(std::forward<Fn>(fn)) {} | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 1; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 1; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
4887 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
| ^~~~ | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 2; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 2; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 3; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 3; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 4; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 4; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
In file included from /usr/include/c++/9/memory:80, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
In file included from /usr/include/c++/9/vector:72, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:144, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/vector.tcc:109:7: error: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>}; _Tp = std::function<void()>; _Alloc = std::allocator<std::function<void()> >; std::vector<_Tp, _Alloc>::reference = std::function<void()>&]’, declared using local type ‘skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>’, is used but never defined [-fpermissive] | |
109 | vector<_Tp, _Alloc>:: | |
| ^~~~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/vector.tcc:109:7: error: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>}; _Tp = std::function<void()>; _Alloc = std::allocator<std::function<void()> >; std::vector<_Tp, _Alloc>::reference = std::function<void()>&]’, declared using local type ‘skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>’, is used but never defined [-fpermissive] | |
make[3]: *** [python/CMakeFiles/skimpy_ext.dir/build.make:63: python/CMakeFiles/skimpy_ext.dir/skimpy_ext.cpp.o] Error 1 | |
make[2]: *** [CMakeFiles/Makefile2:1088: python/CMakeFiles/skimpy_ext.dir/all] Error 2 | |
make[1]: *** [CMakeFiles/Makefile2:1095: python/CMakeFiles/skimpy_ext.dir/rule] Error 2 | |
make: *** [Makefile:565: skimpy_ext] Error 2 | |
Traceback (most recent call last): | |
File "<string>", line 1, in <module> | |
File "/home/tdimson/projects/skimpy/setup.py", line 97, in <module> | |
zip_safe = False | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup | |
return distutils.core.setup(**attrs) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/core.py", line 148, in setup | |
dist.run_commands() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 966, in run_commands | |
self.run_command(cmd) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 223, in run | |
self.run_command('build') | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/cmd.py", line 313, in run_command | |
self.distribution.run_command(command) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/command/build.py", line 135, in run | |
self.run_command(cmd_name) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/cmd.py", line 313, in run_command | |
self.distribution.run_command(command) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/projects/skimpy/setup.py", line 33, in run | |
self.build_extension(ext) | |
File "/home/tdimson/projects/skimpy/setup.py", line 81, in build_extension | |
cwd = self.build_temp, | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/subprocess.py", line 363, in check_call | |
raise CalledProcessError(retcode, cmd) | |
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--target', 'skimpy_ext', '--config', 'Release']' returned non-zero exit status 2. | |
---------------------------------------- | |
ERROR: Failed building wheel for skimpy | |
Running setup.py clean for skimpy | |
Failed to build skimpy | |
Installing collected packages: skimpy | |
Running setup.py install for skimpy: started | |
Running setup.py install for skimpy: finished with status 'error' | |
ERROR: Command errored out with exit status 1: | |
command: /home/tdimson/anaconda3/envs/skimpy/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/tdimson/projects/skimpy/setup.py'"'"'; __file__='"'"'/home/tdimson/projects/skimpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_91glqwe/install-record.txt --single-version-externally-managed --compile --install-headers /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/skimpy | |
cwd: /home/tdimson/projects/skimpy/ | |
Complete output (1545 lines): | |
running install | |
running build | |
running build_ext | |
Generating cmake build... | |
-- The CXX compiler identification is GNU 9.3.0 | |
-- Check for working CXX compiler: /usr/bin/c++ | |
-- Check for working CXX compiler: /usr/bin/c++ -- works | |
-- Detecting CXX compiler ABI info | |
-- Detecting CXX compiler ABI info - done | |
-- Detecting CXX compile features | |
-- Detecting CXX compile features - done | |
-- Performing Test __CxxFlag__fno_threadsafe_statics | |
-- Performing Test __CxxFlag__fno_threadsafe_statics - Success | |
-- Performing Test __CxxFlag__fno_semantic_interposition | |
-- Performing Test __CxxFlag__fno_semantic_interposition - Success | |
-- Performing Test __CxxFlag__fmerge_all_constants | |
-- Performing Test __CxxFlag__fmerge_all_constants - Success | |
** AsmJit Summary ** | |
ASMJIT_DIR=/home/tdimson/projects/skimpy/third_party/asmjit | |
ASMJIT_TEST=FALSE | |
ASMJIT_TARGET_TYPE=STATIC | |
ASMJIT_DEPS=pthread;rt | |
ASMJIT_LIBS=asmjit;pthread;rt | |
ASMJIT_CFLAGS=-DASMJIT_STATIC | |
ASMJIT_PRIVATE_CFLAGS=-Wall;-Wextra;-fno-math-errno;-fno-threadsafe-statics;-fno-semantic-interposition;-DASMJIT_STATIC | |
ASMJIT_PRIVATE_CFLAGS_DBG= | |
ASMJIT_PRIVATE_CFLAGS_REL=-O2;-fmerge-all-constants | |
-- Version: 6.1.3 | |
-- Build type: Release | |
-- CXX_STANDARD: 11 | |
-- Performing Test has_std_11_flag | |
-- Performing Test has_std_11_flag - Success | |
-- Performing Test has_std_0x_flag | |
-- Performing Test has_std_0x_flag - Success | |
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS | |
-- Performing Test SUPPORTS_USER_DEFINED_LITERALS - Success | |
-- Performing Test FMT_HAS_VARIANT | |
-- Performing Test FMT_HAS_VARIANT - Success | |
-- Required features: cxx_variadic_templates | |
-- Looking for strtod_l | |
-- Looking for strtod_l - found | |
-- Found PythonInterp: /home/tdimson/anaconda3/envs/skimpy/bin/python3.7 (found version "3.7.6") | |
-- Found PythonLibs: /home/tdimson/anaconda3/envs/skimpy/lib/libpython3.7m.so | |
-- Performing Test HAS_CPP14_FLAG | |
-- Performing Test HAS_CPP14_FLAG - Success | |
-- pybind11 v2.4.dev4 | |
-- Found OpenMP_CXX: -fopenmp (found version "4.5") | |
-- Found OpenMP: TRUE (found version "4.5") | |
-- Configuring done | |
-- Generating done | |
-- Build files have been written to: /home/tdimson/projects/skimpy/build/temp.linux-x86_64-3.7 | |
Executing cmake build... | |
Scanning dependencies of target fmt | |
[ 20%] Building CXX object third_party/fmt/CMakeFiles/fmt.dir/src/format.cc.o | |
[ 40%] Building CXX object third_party/fmt/CMakeFiles/fmt.dir/src/os.cc.o | |
[ 60%] Linking CXX static library libfmt.a | |
[ 60%] Built target fmt | |
Scanning dependencies of target skimpy_ext | |
[ 80%] Building CXX object python/CMakeFiles/skimpy_ext.dir/skimpy_ext.cpp.o | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp: In member function ‘Val skimpy::detail::core::Range<Val>::get(skimpy::detail::core::Pos) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:99:31: error: ‘ends’ was not declared in this scope; did you mean ‘std::ends’? | |
99 | return *std::upper_bound(&ends[0], &ends[size], start + pos); | |
| ^~~~ | |
| std::ends | |
In file included from /usr/include/c++/9/istream:39, | |
from /usr/include/c++/9/sstream:38, | |
from /usr/include/c++/9/complex:45, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/complex.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:13, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/ostream:611:5: note: ‘std::ends’ declared here | |
611 | ends(basic_ostream<_CharT, _Traits>& __os) | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In function ‘auto skimpy::detail::make_fix(Fn&&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:23: error: ‘foward’ is not a member of ‘std’; did you mean ‘forward’? | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^~~~~~ | |
| forward | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:17: error: expected primary-expression before ‘(’ token | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:23: error: ‘foward’ is not a member of ‘std’; did you mean ‘forward’? | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^~~~~~ | |
| forward | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:81:32: error: expected primary-expression before ‘>’ token | |
81 | return Fix<Fn>(std::foward<Fn>(fn)); | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp: In function ‘auto skimpy::detail::step::compose(F&&, G&&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:48:4: error: expected ‘;’ before ‘}’ token | |
48 | } | |
| ^ | |
| ; | |
49 | } | |
| ~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp: In function ‘auto skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:324:40: error: ‘hardware_destructive_interference_size’ is not a member of ‘std’ | |
324 | constexpr auto kCacheLineSize = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Store<Val>::Store(std::shared_ptr<skimpy::detail::core::Store<Val> >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:66:9: error: class ‘skimpy::detail::lang::Store<Val>’ does not have any field named ‘Op’ | |
66 | : Op(store->span(), 1, 1), store(std::move(store)) { | |
| ^~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:6, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:67:20: error: there are no arguments to ‘span’ that depend on a template parameter, so a declaration of ‘span’ must be available [-fpermissive] | |
67 | CHECK_ARGUMENT(span()); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:17:11: note: in definition of macro ‘CHECK_ARGUMENT’ | |
17 | if (!(cond)) { \ | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:67:20: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) | |
67 | CHECK_ARGUMENT(span()); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:17:11: note: in definition of macro ‘CHECK_ARGUMENT’ | |
17 | if (!(cond)) { \ | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Slice<Val>::Slice(std::shared_ptr<skimpy::detail::lang::Op<Val> >, int, int, int)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:79:9: error: class ‘skimpy::detail::lang::Slice<Val>’ does not have any field named ‘Op’ | |
79 | : Op(1 + (stop - start - 1) / stride, | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Stack<Val>::Stack(std::vector<std::shared_ptr<skimpy::detail::lang::Op<Val> > >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:98:9: error: class ‘skimpy::detail::lang::Stack<Val>’ does not have any field named ‘Op’ | |
98 | : Op(sum(inputs, [](const auto& op) { return op->span(); }), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Merge<Val>::Merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Merge<Val>::Fn)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:131:9: error: class ‘skimpy::detail::lang::Merge<Val>’ does not have any field named ‘Op’ | |
131 | : Op(lhs->span(), 1 + lhs->depth(), 1 + lhs->count()), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::Apply<Val>::Apply(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Apply<Val>::Fn)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:146:9: error: class ‘skimpy::detail::lang::Apply<Val>’ does not have any field named ‘Op’ | |
146 | : Op(input->span(), 1 + input->depth(), 1 + input->count()), | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In member function ‘std::size_t skimpy::detail::lang::OpHash<Val>::operator()(skimpy::detail::lang::OpPtr<Val>&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:196:34: error: expected primary-expression before ‘>’ token | |
196 | if (auto p = op->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:196:37: error: expected primary-expression before ‘)’ token | |
196 | if (auto p = op->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:198:41: error: expected primary-expression before ‘>’ token | |
198 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:198:44: error: expected primary-expression before ‘)’ token | |
198 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:200:41: error: expected primary-expression before ‘>’ token | |
200 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:200:44: error: expected primary-expression before ‘)’ token | |
200 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:202:41: error: expected primary-expression before ‘>’ token | |
202 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:202:44: error: expected primary-expression before ‘)’ token | |
202 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:204:41: error: expected primary-expression before ‘>’ token | |
204 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:204:44: error: expected primary-expression before ‘)’ token | |
204 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In member function ‘bool skimpy::detail::lang::OpEqualTo<Val>::operator()(skimpy::detail::lang::OpPtr<Val>&, skimpy::detail::lang::OpPtr<Val>&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:215:35: error: expected primary-expression before ‘>’ token | |
215 | if (auto l = lop->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:215:38: error: expected primary-expression before ‘)’ token | |
215 | if (auto l = lop->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:216:37: error: expected primary-expression before ‘>’ token | |
216 | if (auto r = rop->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:216:40: error: expected primary-expression before ‘)’ token | |
216 | if (auto r = rop->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:219:42: error: expected primary-expression before ‘>’ token | |
219 | } else if (auto l = lop->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:219:45: error: expected primary-expression before ‘)’ token | |
219 | } else if (auto l = lop->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:220:37: error: expected primary-expression before ‘>’ token | |
220 | if (auto r = rop->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:220:40: error: expected primary-expression before ‘)’ token | |
220 | if (auto r = rop->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:225:42: error: expected primary-expression before ‘>’ token | |
225 | } else if (auto l = lop->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:225:45: error: expected primary-expression before ‘)’ token | |
225 | } else if (auto l = lop->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:226:37: error: expected primary-expression before ‘>’ token | |
226 | if (auto r = rop->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:226:40: error: expected primary-expression before ‘)’ token | |
226 | if (auto r = rop->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:229:42: error: expected primary-expression before ‘>’ token | |
229 | } else if (auto l = lop->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:229:45: error: expected primary-expression before ‘)’ token | |
229 | } else if (auto l = lop->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:230:37: error: expected primary-expression before ‘>’ token | |
230 | if (auto r = rop->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:230:40: error: expected primary-expression before ‘)’ token | |
230 | if (auto r = rop->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:233:42: error: expected primary-expression before ‘>’ token | |
233 | } else if (auto l = lop->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:233:45: error: expected primary-expression before ‘)’ token | |
233 | } else if (auto l = lop->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:234:37: error: expected primary-expression before ‘>’ token | |
234 | if (auto r = rop->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:234:40: error: expected primary-expression before ‘)’ token | |
234 | if (auto r = rop->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:318:34: error: expected primary-expression before ‘>’ token | |
318 | if (auto p = op->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:318:37: error: expected primary-expression before ‘)’ token | |
318 | if (auto p = op->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:320:41: error: expected primary-expression before ‘>’ token | |
320 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:320:44: error: expected primary-expression before ‘)’ token | |
320 | } else if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:322:41: error: expected primary-expression before ‘>’ token | |
322 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:322:44: error: expected primary-expression before ‘)’ token | |
322 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:325:41: error: expected primary-expression before ‘>’ token | |
325 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:325:44: error: expected primary-expression before ‘)’ token | |
325 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:329:41: error: expected primary-expression before ‘>’ token | |
329 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:329:44: error: expected primary-expression before ‘)’ token | |
329 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::str(skimpy::detail::lang::OpPtr<Val>&, const char*)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:352:36: error: expected primary-expression before ‘>’ token | |
352 | if (auto p = stmt->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:352:39: error: expected primary-expression before ‘)’ token | |
352 | if (auto p = stmt->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:360:43: error: expected primary-expression before ‘>’ token | |
360 | } else if (auto p = stmt->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:360:46: error: expected primary-expression before ‘)’ token | |
360 | } else if (auto p = stmt->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:369:43: error: expected primary-expression before ‘>’ token | |
369 | } else if (auto p = stmt->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:369:46: error: expected primary-expression before ‘)’ token | |
369 | } else if (auto p = stmt->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:378:43: error: expected primary-expression before ‘>’ token | |
378 | } else if (auto p = stmt->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:378:46: error: expected primary-expression before ‘)’ token | |
378 | } else if (auto p = stmt->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:385:43: error: expected primary-expression before ‘>’ token | |
385 | } else if (auto p = stmt->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:385:46: error: expected primary-expression before ‘)’ token | |
385 | } else if (auto p = stmt->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:417:31: error: expected primary-expression before ‘>’ token | |
417 | if (old_op->is<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:417:34: error: expected primary-expression before ‘)’ token | |
417 | if (old_op->is<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:423:40: error: expected primary-expression before ‘>’ token | |
423 | if (auto p = old_op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:423:43: error: expected primary-expression before ‘)’ token | |
423 | if (auto p = old_op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:424:59: error: expected primary-expression before ‘>’ token | |
424 | const auto& c = new_ops.at(p->input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:424:62: error: expected primary-expression before ‘)’ token | |
424 | const auto& c = new_ops.at(p->input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:441:47: error: expected primary-expression before ‘>’ token | |
441 | } else if (auto p = old_op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:441:50: error: expected primary-expression before ‘)’ token | |
441 | } else if (auto p = old_op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:446:60: error: expected primary-expression before ‘>’ token | |
446 | const auto& c = new_ops.at(p_input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:446:63: error: expected primary-expression before ‘)’ token | |
446 | const auto& c = new_ops.at(p_input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:453:47: error: expected primary-expression before ‘>’ token | |
453 | } else if (auto p = old_op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:453:50: error: expected primary-expression before ‘)’ token | |
453 | } else if (auto p = old_op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:454:52: error: expected primary-expression before ‘>’ token | |
454 | auto c_1 = new_ops.at(p->lhs)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:454:55: error: expected primary-expression before ‘)’ token | |
454 | auto c_1 = new_ops.at(p->lhs)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:455:52: error: expected primary-expression before ‘>’ token | |
455 | auto c_2 = new_ops.at(p->rhs)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:455:55: error: expected primary-expression before ‘)’ token | |
455 | auto c_2 = new_ops.at(p->rhs)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:500:43: error: expected primary-expression before ‘>’ token | |
500 | auto parent = old_op->to<Apply<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:500:46: error: expected primary-expression before ‘)’ token | |
500 | auto parent = old_op->to<Apply<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:501:56: error: expected primary-expression before ‘>’ token | |
501 | auto c = new_ops.at(parent.input)->to<Stack<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:501:59: error: expected primary-expression before ‘)’ token | |
501 | auto c = new_ops.at(parent.input)->to<Stack<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:517:25: error: expected primary-expression before ‘>’ token | |
517 | if (op->is<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:517:28: error: expected primary-expression before ‘)’ token | |
517 | if (op->is<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:521:34: error: expected primary-expression before ‘>’ token | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:521:37: error: expected primary-expression before ‘)’ token | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:523:42: error: expected primary-expression before ‘>’ token | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:523:45: error: expected primary-expression before ‘)’ token | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:525:49: error: expected primary-expression before ‘>’ token | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:525:52: error: expected primary-expression before ‘)’ token | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:531:49: error: expected primary-expression before ‘>’ token | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:531:52: error: expected primary-expression before ‘)’ token | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:537:49: error: expected primary-expression before ‘>’ token | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:537:52: error: expected primary-expression before ‘)’ token | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:544:41: error: expected primary-expression before ‘>’ token | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:544:44: error: expected primary-expression before ‘)’ token | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:547:41: error: expected primary-expression before ‘>’ token | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:547:44: error: expected primary-expression before ‘)’ token | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:551:41: error: expected primary-expression before ‘>’ token | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:551:44: error: expected primary-expression before ‘)’ token | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/core.hpp:6, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/conv.hpp:8, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:9, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In function ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:565:40: error: expected primary-expression before ‘>’ token | |
565 | CHECK_STATE(normal_form->is<Stack<Val>>()); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:9:11: note: in definition of macro ‘CHECK_STATE’ | |
9 | if (!(cond)) { \ | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:565:43: error: expected primary-expression before ‘)’ token | |
565 | CHECK_STATE(normal_form->is<Stack<Val>>()); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/errors.hpp:9:11: note: in definition of macro ‘CHECK_STATE’ | |
9 | if (!(cond)) { \ | |
| ^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:570:52: error: expected primary-expression before ‘>’ token | |
570 | for (const auto& root : normal_form->to<Stack<Val>>().inputs) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:570:55: error: expected primary-expression before ‘)’ token | |
570 | for (const auto& root : normal_form->to<Stack<Val>>().inputs) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:575:9: error: need ‘typename’ before ‘skimpy::detail::lang::Apply<Val>::Fn’ because ‘skimpy::detail::lang::Apply<Val>’ is a dependent scope | |
575 | Apply<Val>::Fn apply_fn; | |
| ^~~~~~~~~~ | |
| typename | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:576:9: error: need ‘typename’ before ‘skimpy::detail::lang::Merge<Val>::Fn’ because ‘skimpy::detail::lang::Merge<Val>’ is a dependent scope | |
576 | Merge<Val>::Fn merge_fn; | |
| ^~~~~~~~~~ | |
| typename | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:39: error: ‘hardware_destructive_interference_size’ is not a member of ‘std’ | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In constructor ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc::EvalFunc(int)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:588:39: error: use of local variable with automatic storage from containing function | |
588 | stack(new Val[stack_size, kStackAlign]), | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:20: note: ‘constexpr<typeprefixerror> kStackAlign’ declared here | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In copy constructor ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc::EvalFunc(const skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&)::EvalFunc&)’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:593:42: error: use of local variable with automatic storage from containing function | |
593 | stack(new Val[ef.stack_size, kStackAlign]), | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:580:20: note: ‘constexpr<typeprefixerror> kStackAlign’ declared here | |
580 | constexpr auto kStackAlign = std::hardware_destructive_interference_size; | |
| ^~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In lambda function: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:623:36: error: expected primary-expression before ‘>’ token | |
623 | if (auto p = op->as<Slice<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:623:39: error: expected primary-expression before ‘)’ token | |
623 | if (auto p = op->as<Slice<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:624:51: error: expected primary-expression before ‘>’ token | |
624 | const auto& store = p->input->to<Store<Val>>(); | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:624:54: error: expected primary-expression before ‘)’ token | |
624 | const auto& store = p->input->to<Store<Val>>(); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:630:43: error: expected primary-expression before ‘>’ token | |
630 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:630:46: error: expected primary-expression before ‘)’ token | |
630 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:636:43: error: expected primary-expression before ‘>’ token | |
636 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:636:46: error: expected primary-expression before ‘)’ token | |
636 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ^ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In constructor ‘skimpy::ArrayBuilder<Val>::ArrayBuilder(std::shared_ptr<skimpy::detail::core::Store<Val> >)’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:67:9: error: ‘ArrayVal’ was not declared in this scope; did you mean ‘Array’? | |
67 | set(ArrayVal<Val>(store)); | |
| ^~~~~~~~ | |
| Array | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:67:21: error: expected primary-expression before ‘>’ token | |
67 | set(ArrayVal<Val>(store)); | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::min(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:250:20: error: ‘min’ is not a member of ‘skimpy’; did you mean ‘std::min’? | |
250 | return skimpy::min(*this, other); | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:3450:5: note: ‘std::min’ declared here | |
3450 | min(initializer_list<_Tp> __l, _Compare __comp) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::max(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:254:20: error: ‘max’ is not a member of ‘skimpy’; did you mean ‘std::max’? | |
254 | return skimpy::max(*this, other); | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: ‘std::max’ declared here | |
3462 | max(initializer_list<_Tp> __l, _Compare __comp) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::pow(const ArrayOrVal&) const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:258:20: error: ‘pow’ is not a member of ‘skimpy’ | |
258 | return skimpy::pow(*this, other); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:258:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:388:3: note: ‘pow’ | |
388 | pow(float __x, float __y) | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:549:1: note: ‘std::pow’ | |
549 | _DEFINE_EXPR_BINARY_FUNCTION(pow, _Pow) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::abs() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:261:20: error: ‘abs’ is not a member of ‘skimpy’ | |
261 | return skimpy::abs(*this); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:261:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/cstdlib:77, | |
from /usr/include/c++/9/stdlib.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:34, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/std_abs.h:56:3: note: ‘abs’ | |
56 | abs(long __i) { return __builtin_labs(__i); } | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:445:5: note: ‘std::abs’ | |
445 | _DEFINE_EXPR_UNARY_FUNCTION(abs, _Abs) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/c++/9/thread:38, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:7, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/usr/include/c++/9/chrono:263:7: note: ‘std::chrono::abs’ | |
263 | abs(duration<_Rep, _Period> __d) | |
| ^~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::sqrt() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:264:20: error: ‘sqrt’ is not a member of ‘skimpy’ | |
264 | return skimpy::sqrt(*this); | |
| ^~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:264:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:463:3: note: ‘sqrt’ | |
463 | sqrt(float __x) | |
| ^~~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:458:5: note: ‘std::sqrt’ | |
458 | _DEFINE_EXPR_UNARY_FUNCTION(sqrt, _Sqrt) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp: In member function ‘skimpy::Array<Val> skimpy::Array<Val>::exp() const’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:267:20: error: ‘exp’ is not a member of ‘skimpy’ | |
267 | return skimpy::exp(*this); | |
| ^~~ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:267:20: note: suggested alternatives: | |
In file included from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/cmath:222:3: note: ‘exp’ | |
222 | exp(float __x) | |
| ^~~ | |
In file included from /usr/include/c++/9/valarray:603, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/stl.h:20, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:3: | |
/usr/include/c++/9/bits/valarray_after.h:455:5: note: ‘std::exp’ | |
455 | _DEFINE_EXPR_UNARY_FUNCTION(exp, _Exp) | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: error: no match for call to ‘(skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >) (skimpy::detail::lang::OpPtr<int>&)’ | |
280 | auto ret = tr(op); | |
| ~~^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) const [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
56 | auto operator()(Args&&... args) const -> decltype( | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) const [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:57:10: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
57 | fn_(std::declval<const Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
66 | auto operator()(Args&&... args) | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = void; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:37&, const auto:38&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:317:24: required from ‘auto skimpy::detail::lang::linearize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:412:29: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:67:22: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
67 | -> decltype(fn_(std::declval<Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /usr/include/c++/9/unordered_set:46, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:147, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/hashtable.h: In instantiation of ‘class std::_Hashtable<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > >, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > > >, std::__detail::_Select1st, skimpy::detail::lang::OpEqualTo<int>, skimpy::detail::lang::OpHash<int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’: | |
/usr/include/c++/9/bits/unordered_map.h:105:18: required from ‘class std::unordered_map<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::lang::OpHash<int>, skimpy::detail::lang::OpEqualTo<int>, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> > > > >’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:414:30: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/usr/include/c++/9/bits/hashtable.h:275:21: error: static assertion failed: Cache the hash code or qualify your functors involved in hash code and bucket index computation with noexcept | |
275 | static_assert(noexcept(declval<const __hash_code_base_access&>() | |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
276 | ._M_bucket_index((const __node_type*)nullptr, | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
277 | (std::size_t)0)), | |
| ~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/hashtable.h: In instantiation of ‘class std::_Hashtable<std::shared_ptr<skimpy::detail::lang::Op<int> >, std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > >, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > > >, std::__detail::_Select1st, skimpy::detail::lang::OpEqualTo<int>, skimpy::detail::lang::OpHash<int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’: | |
/usr/include/c++/9/bits/unordered_map.h:105:18: required from ‘class std::unordered_map<std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > >, skimpy::detail::lang::OpHash<int>, skimpy::detail::lang::OpEqualTo<int>, std::allocator<std::pair<const std::shared_ptr<skimpy::detail::lang::Op<int> >, skimpy::detail::Deferred<std::shared_ptr<skimpy::detail::lang::Op<int> > > > > >’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:302:46: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/usr/include/c++/9/bits/hashtable.h:275:21: error: static assertion failed: Cache the hash code or qualify your functors involved in hash code and bucket index computation with noexcept | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: error: no match for call to ‘(skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >) (skimpy::detail::lang::OpPtr<int>&)’ | |
280 | auto ret = tr(op); | |
| ~~^~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) const [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
56 | auto operator()(Args&&... args) const -> decltype( | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:56:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<const skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) const [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:57:10: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
57 | fn_(std::declval<const Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: candidate: ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<Fn>&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<Fn>::operator()(Args&& ...) [with Args = {Args ...}; Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’ | |
66 | auto operator()(Args&&... args) | |
| ^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:66:8: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: In substitution of ‘template<class ... Args> decltype (fn_(declval<skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >&>(), (forward<Args>)(skimpy::detail::Fix::operator()::args)...)) skimpy::detail::Fix<skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)> >::operator()<Args ...>(Args&& ...) [with Args = {const std::shared_ptr<skimpy::detail::lang::Op<int> >&}]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:280:16: required from ‘auto skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:303:23: required from ‘auto skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:36: required from ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:67:22: error: ‘fn_’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] | |
67 | -> decltype(fn_(std::declval<Fix<Fn>&>(), std::forward<Args>(args)...)) { | |
| ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:564:31: required from ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: error: no match for ‘operator=’ (operand types are ‘skimpy::detail::lang::OpPtr<int>’ {aka ‘std::shared_ptr<skimpy::detail::lang::Op<int> >’} and ‘void’) | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:103:11: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = skimpy::detail::lang::Op<int>]’ | |
103 | class shared_ptr : public __shared_ptr<_Tp> | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:309:29: note: no known conversion for argument 1 from ‘void’ to ‘const std::shared_ptr<skimpy::detail::lang::Op<int> >&’ | |
309 | shared_ptr& operator=(const shared_ptr&) noexcept = default; | |
| ^~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<const std::shared_ptr<_Yp>&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
313 | operator=(const shared_ptr<_Yp>& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘const std::shared_ptr<_Tp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::auto_ptr<_Up> > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
324 | operator=(auto_ptr<_Yp>&& __r) | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::auto_ptr<_Up>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:333:7: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = skimpy::detail::lang::Op<int>]’ | |
333 | operator=(shared_ptr&& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:333:30: note: no known conversion for argument 1 from ‘void’ to ‘std::shared_ptr<skimpy::detail::lang::Op<int> >&&’ | |
333 | operator=(shared_ptr&& __r) noexcept | |
| ~~~~~~~~~~~~~^~~ | |
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: candidate: ‘template<class _Yp> std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = _Yp; _Tp = skimpy::detail::lang::Op<int>]’ | |
341 | operator=(shared_ptr<_Yp>&& __r) noexcept | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::shared_ptr<_Tp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
In file included from /usr/include/c++/9/memory:81, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: candidate: ‘template<class _Yp, class _Del> std::shared_ptr<_Tp>::_Assignable<std::unique_ptr<_Up, _Ep> > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = skimpy::detail::lang::Op<int>]’ | |
349 | operator=(unique_ptr<_Yp, _Del>&& __r) | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: template argument deduction/substitution failed: | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:515:7: note: mismatched types ‘std::unique_ptr<_Tp, _Dp>’ and ‘void’ | |
515 | ret = cached_traverse<OpPtr<Val>>(ret, [](const auto& tr, const auto& op) { | |
| ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
516 | // Handle the base case by wrapping the leaf store in a slice. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
517 | if (op->is<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
518 | return make_deferred([op] { return slice(op, 0, op->span(), 1); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
519 | } | |
| ~ | |
520 | | |
| | |
521 | if (auto p = op->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
522 | // If the op is a slice, we push it down one level in the tree. | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
523 | if (auto c = p->input->as<Store<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
524 | return make_deferred([op] { return op; }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | } else if (auto c = p->input->as<Slice<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
526 | auto span = c->input->span(); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
527 | auto start = std::min(c->start + c->stride * p->start, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
528 | auto stop = std::min(c->start + c->stride * p->stop, span); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
529 | auto stride = c->stride * p->stride; | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
530 | return tr(slice(c->input, start, stop, stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
531 | } else if (auto c = p->input->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
532 | auto lhs = tr(slice(c->lhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
533 | auto rhs = tr(slice(c->rhs, p->start, p->stop, p->stride)); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
534 | return chain(lhs, rhs).then([c](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
535 | return merge(std::get<0>(deps), std::get<1>(deps), c->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
536 | }); | |
| ~~~ | |
537 | } else if (auto c = p->input->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
538 | auto input = slice(c->input, p->start, p->stop, p->stride); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
539 | return tr(input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
540 | [c](const auto& dep) { return apply(dep, c->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
541 | } else { | |
| ~~~~~~~~ | |
542 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
543 | } | |
| ~ | |
544 | } else if (auto p = op->as<Stack<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
545 | auto deps = map(p->inputs, tr); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
546 | return chain(deps).then([](const auto& deps) { return stack(deps); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
547 | } else if (auto p = op->as<Merge<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
548 | return chain(tr(p->lhs), tr(p->rhs)).then([p](const auto& deps) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
549 | return merge(std::get<0>(deps), std::get<1>(deps), p->fn); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
550 | }); | |
| ~~~ | |
551 | } else if (auto p = op->as<Apply<Val>>()) { | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
552 | return tr(p->input).then( | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
553 | [p](const auto& dep) { return apply(dep, p->fn); }); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
554 | } else { | |
| ~~~~~~~~ | |
555 | CHECK_UNREACHABLE("Unsupported op type!"); | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
556 | } | |
| ~ | |
557 | }); | |
| ~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘auto skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:191:29: required from ‘std::shared_ptr<skimpy::detail::core::Store<Val> > skimpy::Array<Val>::store() const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:89:68: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:610:28: error: ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’ has no member named ‘merge_fn’ | |
610 | *(sp - 2) = cn.merge_fn(*(sp - 2), *(sp - 1)); | |
| ~~~^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:614:28: error: ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’ has no member named ‘apply_fn’ | |
614 | *(sp - 1) = cn.apply_fn(*(sp - 1)); | |
| ~~~^~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:635:25: error: ‘__gnu_cxx::__alloc_traits<std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>, skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>::value_type’ {aka ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’} has no member named ‘merge_fn’ | |
635 | ef_nodes.back().merge_fn = p->fn; | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:640:25: error: ‘__gnu_cxx::__alloc_traits<std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>, skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode>::value_type’ {aka ‘struct skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’} has no member named ‘apply_fn’ | |
640 | ef_nodes.back().apply_fn = p->fn; | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(skimpy::detail::core::Pos, Val) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::core::Pos = int]’: | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:156:46: required from ‘skimpy::Array<Val>::Array(skimpy::Pos, Val) [with Val = int; skimpy::Pos = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:205:14: required from ‘void skimpy::Array<Val>::set(skimpy::Pos, Val) [with Val = int; skimpy::Pos = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:109:67: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:157:15: error: no matching function for call to ‘store(std::remove_reference<std::shared_ptr<skimpy::detail::core::Store<int> >&>::type)’ | |
157 | return store(std::move(s)); | |
| ~~~~~^~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:152:19: note: candidate: ‘template<class Val> skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(skimpy::detail::core::Pos, Val)’ | |
152 | inline OpPtr<Val> store(core::Pos span, Val fill) { | |
| ^~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:152:19: note: template argument deduction/substitution failed: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:157:15: note: candidate expects 2 arguments, 1 provided | |
157 | return store(std::move(s)); | |
| ~~~~~^~~~~~~~~~~~~~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Store<Val>::Store(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Store<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}; _Tp = skimpy::detail::lang::Store<int>]’ | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Alloc = std::allocator<skimpy::detail::lang::Store<int> >; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Store<int>; _Args = {std::shared_ptr<skimpy::detail::core::Store<int> >}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:162:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::store(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:155:70: required from ‘skimpy::Array<Val>::Array(std::shared_ptr<skimpy::detail::core::Store<Val> >) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:47:36: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:66:56: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
66 | : Op(store->span(), 1, 1), store(std::move(store)) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Slice<Val>::Slice(std::shared_ptr<skimpy::detail::lang::Op<Val> >, int, int, int) [with Val = int]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Slice<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}; _Tp = skimpy::detail::lang::Slice<int>]’ | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Alloc = std::allocator<skimpy::detail::lang::Slice<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Slice<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int&, int&, int&}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:167:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::slice(skimpy::detail::lang::OpPtr<Val>, int, int, int) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:232:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::get(const skimpy::Slice&) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:105:61: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:85:22: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
85 | stride(stride) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Apply<Val>::Apply(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Apply<Val>::Fn) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::lang::Apply<Val>::Fn = int (*)(int)]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Apply<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Alloc = std::allocator<skimpy::detail::lang::Apply<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Apply<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int)}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:189:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::apply(skimpy::detail::lang::OpPtr<Val>, Fun&&) [with Val = int; Fun = int (*&)(int); skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:240:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::apply(Val (*)(Val)) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:296:46: required from ‘skimpy::Array<Val> skimpy::operator-(const skimpy::Array<Val>&) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:120:58: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:148:14: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
148 | fn(fn) {} | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp: In instantiation of ‘skimpy::detail::lang::Merge<Val>::Merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::Merge<Val>::Fn) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >; skimpy::detail::lang::Merge<Val>::Fn = int (*)(int, int)]’: | |
/usr/include/c++/9/ext/new_allocator.h:147:4: required from ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>]’ | |
/usr/include/c++/9/bits/alloc_traits.h:484:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<skimpy::detail::lang::Merge<int> >]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ | |
/usr/include/c++/9/bits/shared_ptr_base.h:1344:71: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] | |
/usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Alloc = std::allocator<skimpy::detail::lang::Merge<int> >; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}]’ | |
/usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = skimpy::detail::lang::Merge<int>; _Args = {std::shared_ptr<skimpy::detail::lang::Op<int> >, std::shared_ptr<skimpy::detail::lang::Op<int> >, int (*&)(int, int)}]’ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:183:38: required from ‘skimpy::detail::lang::OpPtr<Val> skimpy::detail::lang::merge(skimpy::detail::lang::OpPtr<Val>, skimpy::detail::lang::OpPtr<Val>, Fun&&) [with Val = int; Fun = int (*&)(int, int); skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:237:34: required from ‘skimpy::Array<Val> skimpy::Array<Val>::merge(const skimpy::Array<Val>&, Val (*)(Val, Val)) const [with Val = int]’ | |
/home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:307:59: required from ‘skimpy::Array<Val> skimpy::operator+(const skimpy::Array<Val>&, const skimpy::Array<Val>&) [with Val = int]’ | |
/home/tdimson/projects/skimpy/python/skimpy_ext.cpp:129:27: required from here | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:134:14: error: no matching function for call to ‘skimpy::detail::lang::Op<int>::Op()’ | |
134 | fn(fn) { | |
| ^ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate: ‘skimpy::detail::lang::Op<Val>::Op(skimpy::detail::core::Pos, int, int) [with Val = int; skimpy::detail::core::Pos = int]’ | |
20 | Op(core::Pos span, int depth, int count) | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:20:3: note: candidate expects 3 arguments, 0 provided | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate: ‘constexpr skimpy::detail::lang::Op<int>::Op(const skimpy::detail::lang::Op<int>&)’ | |
19 | struct Op { | |
| ^~ | |
/home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:19:8: note: candidate expects 1 argument, 0 provided | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp: At global scope: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:53:3: error: ‘skimpy::detail::Fix<Fn>::Fix(Fn&&) [with Fn = skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>]’, declared using local type ‘skimpy::detail::lang::traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Fn = skimpy::detail::lang::cached_traverse(skimpy::detail::lang::OpPtr<Val>&, Fn&&) [with Ret = std::shared_ptr<skimpy::detail::lang::Op<int> >; Val = int; Hash = skimpy::detail::lang::OpHash<int>; EqualTo = skimpy::detail::lang::OpEqualTo<int>; Fn = skimpy::detail::lang::normalize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:40&, const auto:41&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:35&, const auto:36&)>; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:34&, skimpy::detail::lang::OpPtr<int>&)>’, is used but never defined [-fpermissive] | |
53 | Fix(Fn&& fn) : fn_(std::forward<Fn>(fn)) {} | |
| ^~~ | |
In file included from /usr/include/c++/9/bits/stl_algobase.h:67, | |
from /usr/include/c++/9/bits/specfun.h:45, | |
from /usr/include/c++/9/cmath:1927, | |
from /usr/include/c++/9/math.h:36, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/pyport.h:191, | |
from /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/Python.h:63, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:112, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_iterator.h:819:7: error: ‘__gnu_cxx::__normal_iterator<_Iterator, _Container>::reference __gnu_cxx::__normal_iterator<_Iterator, _Container>::operator*() const [with _Iterator = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode*; _Container = std::vector<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode, std::allocator<skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode> >; __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode&]’, declared using local type ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::EvalNode’, is used but never defined [-fpermissive] | |
819 | operator*() const _GLIBCXX_NOEXCEPT | |
| ^~~~~~~~ | |
In file included from /home/tdimson/projects/skimpy/include/skimpy/detail/step.hpp:4, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/eval.hpp:10, | |
from /home/tdimson/projects/skimpy/include/skimpy/detail/lang.hpp:13, | |
from /home/tdimson/projects/skimpy/include/skimpy/skimpy.hpp:11, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:5: | |
/home/tdimson/projects/skimpy/include/skimpy/detail/util.hpp:53:3: error: ‘skimpy::detail::Fix<Fn>::Fix(Fn&&) [with Fn = skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:47&, skimpy::detail::lang::OpPtr<int>&)>]’, declared using local type ‘skimpy::detail::lang::materialize(skimpy::detail::lang::OpPtr<Val>&) [with Val = int; skimpy::detail::lang::OpPtr<Val> = std::shared_ptr<skimpy::detail::lang::Op<int> >]::<lambda(const auto:47&, skimpy::detail::lang::OpPtr<int>&)>’, is used but never defined [-fpermissive] | |
53 | Fix(Fn&& fn) : fn_(std::forward<Fn>(fn)) {} | |
| ^~~ | |
In file included from /usr/include/c++/9/algorithm:62, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:15, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 1; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 1; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
4887 | sort(_RandomAccessIterator __first, _RandomAccessIterator __last, | |
| ^~~~ | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 2; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 2; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 3; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 3; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
/usr/include/c++/9/bits/stl_algo.h:4887:5: error: ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = int*; _Compare = skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 4; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>]’, declared using local type ‘skimpy::detail::eval::eval_step_fixed(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int k = 4; Val = int; skimpy::detail::eval::Pos = int]::<lambda(int, int)>’, is used but never defined [-fpermissive] | |
In file included from /usr/include/c++/9/memory:80, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:149, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 16; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 32; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 64; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 128; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 256; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 512; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_stack(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with int buffer_size = 1024; Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:493:2: error: ‘std::unique_ptr<_Tp [], _Dp>::unique_ptr(_Up) [with _Up = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode*; _Vp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; <template-parameter-2-3> = void; <template-parameter-2-4> = bool; _Tp = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>]’, declared using local type ‘skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
493 | unique_ptr(_Up __p) noexcept | |
| ^~~~~~~~~~ | |
/usr/include/c++/9/bits/unique_ptr.h:611:7: error: ‘typename std::add_lvalue_reference<_Tp>::type std::unique_ptr<_Tp [], _Dp>::operator[](std::size_t) const [with _Tp = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode; _Dp = std::default_delete<skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode []>; typename std::add_lvalue_reference<_Tp>::type = skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode&; std::size_t = long unsigned int]’, declared using local type ‘skimpy::detail::eval::eval_step_heap(skimpy::detail::eval::Pos*, Val*, const skimpy::detail::eval::EvalStep<Val>&) [with Val = int; skimpy::detail::eval::Pos = int]::HashNode’, is used but never defined [-fpermissive] | |
611 | operator[](size_t __i) const | |
| ^~~~~~~~ | |
In file included from /usr/include/c++/9/vector:72, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/detail/common.h:144, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pytypes.h:12, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/cast.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/attr.h:13, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/pybind11.h:44, | |
from /home/tdimson/projects/skimpy/third_party/pybind11/include/pybind11/numpy.h:12, | |
from /home/tdimson/projects/skimpy/python/skimpy_ext.cpp:1: | |
/usr/include/c++/9/bits/vector.tcc:109:7: error: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>}; _Tp = std::function<void()>; _Alloc = std::allocator<std::function<void()> >; std::vector<_Tp, _Alloc>::reference = std::function<void()>&]’, declared using local type ‘skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>’, is used but never defined [-fpermissive] | |
109 | vector<_Tp, _Alloc>:: | |
| ^~~~~~~~~~~~~~~~~~~ | |
/usr/include/c++/9/bits/vector.tcc:109:7: error: ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>}; _Tp = std::function<void()>; _Alloc = std::allocator<std::function<void()> >; std::vector<_Tp, _Alloc>::reference = std::function<void()>&]’, declared using local type ‘skimpy::detail::eval::eval_plan(const skimpy::detail::eval::EvalPlan<Val>&) [with Val = int]::<lambda()>’, is used but never defined [-fpermissive] | |
make[3]: *** [python/CMakeFiles/skimpy_ext.dir/build.make:63: python/CMakeFiles/skimpy_ext.dir/skimpy_ext.cpp.o] Error 1 | |
make[2]: *** [CMakeFiles/Makefile2:1088: python/CMakeFiles/skimpy_ext.dir/all] Error 2 | |
make[1]: *** [CMakeFiles/Makefile2:1095: python/CMakeFiles/skimpy_ext.dir/rule] Error 2 | |
make: *** [Makefile:565: skimpy_ext] Error 2 | |
Traceback (most recent call last): | |
File "<string>", line 1, in <module> | |
File "/home/tdimson/projects/skimpy/setup.py", line 97, in <module> | |
zip_safe = False | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup | |
return distutils.core.setup(**attrs) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/core.py", line 148, in setup | |
dist.run_commands() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 966, in run_commands | |
self.run_command(cmd) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/site-packages/setuptools/command/install.py", line 61, in run | |
return orig.install.run(self) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/command/install.py", line 545, in run | |
self.run_command('build') | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/cmd.py", line 313, in run_command | |
self.distribution.run_command(command) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/command/build.py", line 135, in run | |
self.run_command(cmd_name) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/cmd.py", line 313, in run_command | |
self.distribution.run_command(command) | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/distutils/dist.py", line 985, in run_command | |
cmd_obj.run() | |
File "/home/tdimson/projects/skimpy/setup.py", line 33, in run | |
self.build_extension(ext) | |
File "/home/tdimson/projects/skimpy/setup.py", line 81, in build_extension | |
cwd = self.build_temp, | |
File "/home/tdimson/anaconda3/envs/skimpy/lib/python3.7/subprocess.py", line 363, in check_call | |
raise CalledProcessError(retcode, cmd) | |
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--target', 'skimpy_ext', '--config', 'Release']' returned non-zero exit status 2. | |
---------------------------------------- | |
ERROR: Command errored out with exit status 1: /home/tdimson/anaconda3/envs/skimpy/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/tdimson/projects/skimpy/setup.py'"'"'; __file__='"'"'/home/tdimson/projects/skimpy/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-_91glqwe/install-record.txt --single-version-externally-managed --compile --install-headers /home/tdimson/anaconda3/envs/skimpy/include/python3.7m/skimpy Check the logs for full command output. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment