Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

over 6 years ago

Language

C++

Compiler

clang 7.0.0

Options
Warnings
Boost 1.68.0
C++2a(GNU)
no pedantic

Author

anonymous

over 6 years ago

$ clang++ prog.cc -Wall -Wextra -I/opt/wandbox/boost-1.68.0/clang-7.0.0/include -std=gnu++2a
prog.cc:41:33: error: no member named 'func1' in 'bar'
    my_class([](auto foo) { foo.func1(); });
                            ~~~ ^
/opt/wandbox/clang-7.0.0/include/c++/v1/type_traits:4345:23: note: in instantiation of function template specialization 'main()::(anonymous class)::operator()<bar>' requested here
_LIBCPP_INVOKE_RETURN(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...))
                      ^
/opt/wandbox/clang-7.0.0/include/c++/v1/__config:473:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/opt/wandbox/clang-7.0.0/include/c++/v1/type_traits:4363:9: note: while substituting deduced template arguments into function template '__invoke' [with _Fp = (lambda at prog.cc:41:14), _Args = <bar>]
        _VSTD::__invoke(_VSTD::declval<_Fp>(), _VSTD::declval<_Args>()...));
        ^
/opt/wandbox/clang-7.0.0/include/c++/v1/__config:473:15: note: expanded from macro '_VSTD'
#define _VSTD std::_LIBCPP_NAMESPACE
              ^
/opt/wandbox/clang-7.0.0/include/c++/v1/type_traits:4461:31: note: in instantiation of template class 'std::__1::__invokable_r<void, (lambda at prog.cc:41:14), bar>' requested here
    : integral_constant<bool, __invokable_r<_Ret, _Fn, _Args...>::value> {};
                              ^
/opt/wandbox/clang-7.0.0/include/c++/v1/type_traits:4469:7: note: in instantiation of template class 'std::__1::is_invocable_r<void, (lambda at prog.cc:41:14), bar>' requested here
    = is_invocable_r<_Ret, _Fn, _Args...>::value;
      ^
prog.cc:12:48: note: in instantiation of variable template specialization 'std::__1::is_invocable_r_v<void, (lambda at prog.cc:41:14), bar>' requested here
static constexpr bool is_valid_func_2_v = std::is_invocable_r_v<void, Func, bar>;
                                               ^
prog.cc:23:44: note: in instantiation of variable template specialization 'is_valid_func_2_v<(lambda at prog.cc:41:14)>' requested here
template <typename Func2, std::enable_if_t<is_valid_func_2_v<Func2>>* = nullptr>
                                           ^
prog.cc:24:6: note: while substituting prior template arguments into non-type template parameter [with Func2 = (lambda at prog.cc:41:14)]
void my_class(Func2&& func_2, bar_tag)
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
prog.cc:20:5: note: while substituting deduced template arguments into function template 'my_class' [with Func2 = (lambda at prog.cc:41:14), $1 = (no value)]
    my_class(std::forward<Func1>(func_1), default_func_2);
    ^
prog.cc:41:5: note: in instantiation of function template specialization 'my_class<(lambda at prog.cc:41:14), nullptr>' requested here
    my_class([](auto foo) { foo.func1(); });
    ^
1 error generated.
Exit Code:
1