Skip to content

Instantly share code, notes, and snippets.

@vittorioromeo
Created May 17, 2017 14:22
Show Gist options
  • Save vittorioromeo/0efb4c065be794412058c70def1b0a96 to your computer and use it in GitHub Desktop.
Save vittorioromeo/0efb4c065be794412058c70def1b0a96 to your computer and use it in GitHub Desktop.
./typesafevariant3.cpp:13:43: error: no member named 'bar' in 'type_safe::nullvar_t'
auto operator()(T x) const { return x.bar(); }
~ ^
/usr/local/include/type_safe/visitor.hpp:180:29: note: in instantiation of function template
specialization 'visitor::operator()<type_safe::nullvar_t>' requested here
-> decltype(std::forward<Visitor>(visitor)(std::forward<Args>(args)...))
^
/usr/local/include/type_safe/visitor.hpp:194:29: note: while substituting deduced template arguments
into function template 'call_impl' [with Args = <const type_safe::nullvar_t &>]
-> decltype(call_impl(0, std::forward<Visitor>(visitor),
^
/usr/local/include/type_safe/visitor.hpp:223:50: note: while substituting deduced template arguments
into function template 'call' [with Args = <const type_safe::nullvar_t &>]
decltype(visit_variant_impl<AllowIncomplete, Visitor>::call(
^
/usr/local/include/type_safe/visitor.hpp:263:43: note: while substituting deduced template arguments
into function template 'call_type' [with $0 = type_safe::detail::visit_variant_impl<false, visitor
&, type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>, Args
= <>, Variant2 = (no value)]
decltype(RecursiveDecltype::template call_type<RecursiveDecltype>(
^
/usr/local/include/type_safe/visitor.hpp:263:43: note: while substituting deduced template arguments
into function template 'call_type' [with RecursiveDecltype =
type_safe::detail::visit_variant_impl<false, visitor &,
type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>, Head =
c, Tail = <>, Args = <>]
/usr/local/include/type_safe/visitor.hpp:263:43: note: while substituting deduced template arguments
into function template 'call_type' [with RecursiveDecltype =
type_safe::detail::visit_variant_impl<false, visitor &,
type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>, Head =
b, Tail = <c>, Args = <>]
/usr/local/include/type_safe/visitor.hpp:284:29: note: while substituting deduced template arguments
into function template 'call_type' [with RecursiveDecltype =
type_safe::detail::visit_variant_impl<false, visitor &,
type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>, Head =
a, Tail = <b, c>, Args = <>]
-> decltype(call_type<visit_variant_impl>(
^
/usr/local/include/type_safe/visitor.hpp:385:13: note: while substituting deduced template arguments
into function template 'call' [with Args = <>]
visit_variant_impl<visitor_allow_incomplete<Visitor>::value, Visitor&&,
^
/usr/local/include/type_safe/visitor.hpp:415:21: note: while substituting deduced template arguments
into function template 'visit_variant' [with Visitor = visitor &, Variants =
<type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>]
-> decltype(detail::visit_variant(std::forward<Visitor>(visitor),
^
./typesafevariant3.cpp:20:5: note: while substituting deduced template arguments into function template
'visit' [with Visitor = visitor &, Variants =
<type_safe::basic_variant<type_safe::detail::non_empty_variant_policy<false>, a, b, c> &>, $2 =
(no value)]
type_safe::visit(v, x);
^
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment