Skip to content

Instantly share code, notes, and snippets.

@ThePhD
Created December 11, 2013 16:53
Show Gist options
  • Save ThePhD/7914181 to your computer and use it in GitHub Desktop.
Save ThePhD/7914181 to your computer and use it in GitHub Desktop.
[1/2] Compiling sol.scratch.cpp
FAILED: g++ -MMD -MF obj/sol.scratch.o.d -std=c++11 -pedantic -pedantic-errors -Wextra -Wall -O2 -DNDEBUG -c sol.scratch.cpp -o obj/sol.scra
tch.o -I"." -I"./include" -I"." -I"./lua-5.2.2/src/" -I"./Catch/include/"
In file included from ./sol/table.hpp:26:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/lua_function.hpp: In instantiation of 'static int sol::static_lua_func<TFx>::typed_call(sol::types<Args ...>, sol::types<Args ...>, so
l::static_lua_func<TFx>::fx_t*, lua_State*) [with TRn = {int}; Args = {int, int, std::basic_string<char, std::char_traits<char>, std::alloca
tor<char> >}; TFx = int (&)(int, int, std::basic_string<char>); sol::static_lua_func<TFx>::fx_t = int(int, int, std::basic_string<char>); lu
a_State = lua_State]':
./sol/lua_function.hpp:84:114: required from 'static int sol::static_lua_func<TFx>::call(lua_State*) [with TFx = int (&)(int, int, std::ba
sic_string<char>); lua_State = lua_State]'
./sol/table.hpp:164:34: required from 'sol::table& sol::table::set_fx(std::false_type, T&&, TFx&&) [with T = const char (&)[9]; TFx = int
(&)(int, int, std::basic_string<char>); std::false_type = std::integral_constant<bool, false>]'
./sol/table.hpp:90:85: required from 'sol::table& sol::table::set_isfunction_fx(std::true_type, T&&, TFx&&) [with T = const char (&)[9]; T
Fx = int (&)(int, int, std::basic_string<char>); std::true_type = std::integral_constant<bool, true>]'
./sol/table.hpp:73:107: required from 'sol::table& sol::table::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, in
t, std::basic_string<char>)]'
./sol/state.hpp:151:9: required from 'sol::state& sol::state::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, int
, std::basic_string<char>)]'
sol.scratch.cpp:107:42: required from here
./sol/lua_function.hpp:75:42: error: no matching function for call to 'pop_call(lua_State*&, int (*&)(int, int, std::basic_string<char>), so
l::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >&)'
auto r = stack::pop_call(L, fx, t);
^
./sol/lua_function.hpp:75:42: note: candidate is:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:245:13: note: template<class ... Args, class TFx> decltype (sol::stack::detail::ltr_pop(L, forward<TFx>(fx), sol::types<Args
...>())) sol::stack::pop_call(lua_State*, TFx&&, sol::types<Args ...>)
inline auto pop_call(lua_State* L, TFx&& fx, types<Args...>) -> decltype(detail::ltr_pop(L, std::forward<TFx>(fx), types<Args...>())) {
^
./sol/stack.hpp:245:13: note: template argument deduction/substitution failed:
./sol/stack.hpp: In substitution of 'template<class ... Args, class TFx> decltype (sol::stack::detail::ltr_pop(L, forward<TFx>(fx), sol::typ
es<Args ...>())) sol::stack::pop_call(lua_State*, TFx&&, sol::types<Args ...>) [with Args = {int, int, std::basic_string<char, std::char_tra
its<char>, std::allocator<char> >}; TFx = int (*&)(int, int, std::basic_string<char>)]':
./sol/lua_function.hpp:75:42: required from 'static int sol::static_lua_func<TFx>::typed_call(sol::types<Args ...>, sol::types<Args ...>,
sol::static_lua_func<TFx>::fx_t*, lua_State*) [with TRn = {int}; Args = {int, int, std::basic_string<char, std::char_traits<char>, std::allo
cator<char> >}; TFx = int (&)(int, int, std::basic_string<char>); sol::static_lua_func<TFx>::fx_t = int(int, int, std::basic_string<char>);
lua_State = lua_State]'
./sol/lua_function.hpp:84:114: required from 'static int sol::static_lua_func<TFx>::call(lua_State*) [with TFx = int (&)(int, int, std::ba
sic_string<char>); lua_State = lua_State]'
./sol/table.hpp:164:34: required from 'sol::table& sol::table::set_fx(std::false_type, T&&, TFx&&) [with T = const char (&)[9]; TFx = int
(&)(int, int, std::basic_string<char>); std::false_type = std::integral_constant<bool, false>]'
./sol/table.hpp:90:85: required from 'sol::table& sol::table::set_isfunction_fx(std::true_type, T&&, TFx&&) [with T = const char (&)[9]; T
Fx = int (&)(int, int, std::basic_string<char>); std::true_type = std::integral_constant<bool, true>]'
./sol/table.hpp:73:107: required from 'sol::table& sol::table::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, in
t, std::basic_string<char>)]'
./sol/state.hpp:151:9: required from 'sol::state& sol::state::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, int
, std::basic_string<char>)]'
sol.scratch.cpp:107:42: required from here
./sol/stack.hpp:245:132: error: no matching function for call to 'ltr_pop(lua_State*&, int (*&)(int, int, std::basic_string<char>), sol::typ
es<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >)'
inline auto pop_call(lua_State* L, TFx&& fx, types<Args...>) -> decltype(detail::ltr_pop(L, std::forward<TFx>(fx), types<Args...>())) {
^
./sol/stack.hpp:245:132: note: candidates are:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:222:6: note: template<class F, class ... Vs> decltype (f((forward<Vs>)(sol::stack::detail::ltr_pop::vs)...)) sol::stack::det
ail::ltr_pop(lua_State*, F&&, sol::types<>, Vs&& ...)
auto ltr_pop(lua_State*, F&& f, types<>, Vs&&... vs) -> decltype(f(std::forward<Vs>(vs)...)) {
^
./sol/stack.hpp:222:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:245:132: note: cannot convert 'sol::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>()' (type 'sol::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >') to type 'sol::types<>'
inline auto pop_call(lua_State* L, TFx&& fx, types<Args...>) -> decltype(detail::ltr_pop(L, std::forward<TFx>(fx), types<Args...>())) {
^
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:226:6: note: template<class F, class ... Vs> decltype (f((forward<Vs>)(sol::stack::detail::ltr_pop::vs)...)) sol::stack::det
ail::ltr_pop(lua_State*, F&&, sol::types<void>, Vs&& ...)
auto ltr_pop(lua_State*, F&& f, types<void>, Vs&&... vs) -> decltype(f(std::forward<Vs>(vs)...)) {
^
./sol/stack.hpp:226:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:245:132: note: cannot convert 'sol::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >
>()' (type 'sol::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >') to type 'sol::types<void>'
inline auto pop_call(lua_State* L, TFx&& fx, types<Args...>) -> decltype(detail::ltr_pop(L, std::forward<TFx>(fx), types<Args...>())) {
^
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:230:6: note: template<class F, class Head, class ... Vs> decltype (sol::stack::detail::ltr_pop(L, forward<F>(f), sol::types<
>(), (forward<Vs>)(sol::stack::detail::ltr_pop::vs)..., pop<Head>(L))) sol::stack::detail::ltr_pop(lua_State*, F&&, sol::types<Head>, Vs&& .
..)
auto ltr_pop(lua_State* L, F&& f, types<Head>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<>(), std::forward<Vs>(vs)..., p
op<Head>(L))) {
^
./sol/stack.hpp:230:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:245:132: note: candidate expects 1 argument, 3 provided
inline auto pop_call(lua_State* L, TFx&& fx, types<Args...>) -> decltype(detail::ltr_pop(L, std::forward<TFx>(fx), types<Args...>())) {
^
./sol/stack.hpp:245:132: note: 'sol::types<int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' is not deri
ved from 'sol::types<Head>'
./sol/stack.hpp:234:6: note: template<class F, class Head, class ... Tail, class ... Vs> decltype (sol::stack::detail::ltr_pop(L, forward<F>
(f), sol::types<Tail ...>(), (forward<Vs>)(sol::stack::detail::ltr_pop::vs)..., pop<Head>(L))) sol::stack::detail::ltr_pop(lua_State*, F&&,
sol::types<Head, Tail ...>, Vs&& ...)
auto ltr_pop(lua_State* L, F&& f, types<Head, Tail...>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<Tail...>(), std::forwa
rd<Vs>(vs)..., pop<Head>(L))) {
^
./sol/stack.hpp:234:6: note: template argument deduction/substitution failed:
./sol/stack.hpp: In substitution of 'template<class F, class Head, class ... Tail, class ... Vs> decltype (sol::stack::detail::ltr_pop(L, fo
rward<F>(f), sol::types<Tail ...>(), (forward<Vs>)(sol::stack::detail::ltr_pop::vs)..., pop<Head>(L))) sol::stack::detail::ltr_pop(lua_State
*, F&&, sol::types<Head, Tail ...>, Vs&& ...) [with F = int (*&)(int, int, std::basic_string<char>); Head = int; Tail = {int, std::basic_str
ing<char, std::char_traits<char>, std::allocator<char> >}; Vs = {}]':
./sol/stack.hpp:245:132: required by substitution of 'template<class ... Args, class TFx> decltype (sol::stack::detail::ltr_pop(L, forward
<TFx>(fx), sol::types<Args ...>())) sol::stack::pop_call(lua_State*, TFx&&, sol::types<Args ...>) [with Args = {int, int, std::basic_string<
char, std::char_traits<char>, std::allocator<char> >}; TFx = int (*&)(int, int, std::basic_string<char>)]'
./sol/lua_function.hpp:75:42: required from 'static int sol::static_lua_func<TFx>::typed_call(sol::types<Args ...>, sol::types<Args ...>,
sol::static_lua_func<TFx>::fx_t*, lua_State*) [with TRn = {int}; Args = {int, int, std::basic_string<char, std::char_traits<char>, std::allo
cator<char> >}; TFx = int (&)(int, int, std::basic_string<char>); sol::static_lua_func<TFx>::fx_t = int(int, int, std::basic_string<char>);
lua_State = lua_State]'
./sol/lua_function.hpp:84:114: required from 'static int sol::static_lua_func<TFx>::call(lua_State*) [with TFx = int (&)(int, int, std::ba
sic_string<char>); lua_State = lua_State]'
./sol/table.hpp:164:34: required from 'sol::table& sol::table::set_fx(std::false_type, T&&, TFx&&) [with T = const char (&)[9]; TFx = int
(&)(int, int, std::basic_string<char>); std::false_type = std::integral_constant<bool, false>]'
./sol/table.hpp:90:85: required from 'sol::table& sol::table::set_isfunction_fx(std::true_type, T&&, TFx&&) [with T = const char (&)[9]; T
Fx = int (&)(int, int, std::basic_string<char>); std::true_type = std::integral_constant<bool, true>]'
./sol/table.hpp:73:107: required from 'sol::table& sol::table::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, in
t, std::basic_string<char>)]'
./sol/state.hpp:151:9: required from 'sol::state& sol::state::set_function(T&&, TFx&&) [with T = const char (&)[9]; TFx = int (&)(int, int
, std::basic_string<char>)]'
sol.scratch.cpp:107:42: required from here
./sol/stack.hpp:234:167: error: no matching function for call to 'ltr_pop(lua_State*&, int (*&)(int, int, std::basic_string<char>), sol::typ
es<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, int)'
auto ltr_pop(lua_State* L, F&& f, types<Head, Tail...>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<Tail...>(), std::forwa
rd<Vs>(vs)..., pop<Head>(L))) {
^
./sol/stack.hpp:234:167: note: candidates are:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:222:6: note: template<class F, class ... Vs> decltype (f((forward<Vs>)(sol::stack::detail::ltr_pop::vs)...)) sol::stack::det
ail::ltr_pop(lua_State*, F&&, sol::types<>, Vs&& ...)
auto ltr_pop(lua_State*, F&& f, types<>, Vs&&... vs) -> decltype(f(std::forward<Vs>(vs)...)) {
^
./sol/stack.hpp:222:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:234:167: note: cannot convert 'sol::types<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()'
(type 'sol::types<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >') to type 'sol::types<>'
auto ltr_pop(lua_State* L, F&& f, types<Head, Tail...>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<Tail...>(), std::forwa
rd<Vs>(vs)..., pop<Head>(L))) {
^
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:226:6: note: template<class F, class ... Vs> decltype (f((forward<Vs>)(sol::stack::detail::ltr_pop::vs)...)) sol::stack::det
ail::ltr_pop(lua_State*, F&&, sol::types<void>, Vs&& ...)
auto ltr_pop(lua_State*, F&& f, types<void>, Vs&&... vs) -> decltype(f(std::forward<Vs>(vs)...)) {
^
./sol/stack.hpp:226:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:234:167: note: cannot convert 'sol::types<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >()'
(type 'sol::types<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >') to type 'sol::types<void>'
auto ltr_pop(lua_State* L, F&& f, types<Head, Tail...>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<Tail...>(), std::forwa
rd<Vs>(vs)..., pop<Head>(L))) {
^
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:230:6: note: template<class F, class Head, class ... Vs> decltype (sol::stack::detail::ltr_pop(L, forward<F>(f), sol::types<
>(), (forward<Vs>)(sol::stack::detail::ltr_pop::vs)..., pop<Head>(L))) sol::stack::detail::ltr_pop(lua_State*, F&&, sol::types<Head>, Vs&& .
..)
auto ltr_pop(lua_State* L, F&& f, types<Head>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<>(), std::forward<Vs>(vs)..., p
op<Head>(L))) {
^
./sol/stack.hpp:230:6: note: template argument deduction/substitution failed:
In file included from ./sol/table.hpp:25:0,
from ./sol/state.hpp:26,
from ./sol.hpp:25,
from sol.scratch.cpp:3:
./sol/stack.hpp:234:167: note: candidate expects 1 argument, 2 provided
auto ltr_pop(lua_State* L, F&& f, types<Head, Tail...>, Vs&&... vs) -> decltype(ltr_pop(L, std::forward<F>(f), types<Tail...>(), std::forwa
rd<Vs>(vs)..., pop<Head>(L))) {
^
./sol/stack.hpp:234:167: note: 'sol::types<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >' is not derived f
rom 'sol::types<Head>'
ninja: build stopped: subcommand failed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment