/* Copyright Barrett Adair 2016 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */ #include #include struct foo { void operator()(int); void operator()(char); }; namespace ct = callable_traits; int main() { { using test = ct::permissive::args; using expect = ct::invalid_type; static_assert(std::is_same{}, ""); } { using test = ct::permissive::function_type; using expect = ct::invalid_type; static_assert(std::is_same{}, ""); } { using test = ct::permissive::result_of; using expect = ct::invalid_type; static_assert(std::is_same{}, ""); } return 0; }