@@ -217,11 +217,17 @@ template <typename X, anyany_simple_method_concept... Methods>
217217struct exist_for {
218218 private:
219219 template <typename T, typename Method>
220- static auto check_fn (int ) -> decltype(Method::template do_invoke<T>, std::true_type{});
220+ static auto check_fn (int ) -> decltype(Method::template do_invoke<T>, std::true_type{}) {
221+ throw ;
222+ }
221223 template <typename T, typename Method> // for pseudomethods, must be consteval fn
222- static auto check_fn (bool ) -> decltype(Method{}.template do_value<T>(), std::true_type{});
224+ static auto check_fn (bool ) -> decltype(Method{}.template do_value<T>(), std::true_type{}) {
225+ throw ;
226+ }
223227 template <typename , typename >
224- static auto check_fn (...) -> std::false_type;
228+ static auto check_fn (...) -> std::false_type {
229+ throw ;
230+ }
225231
226232 public:
227233 static constexpr inline bool value = (decltype (check_fn<std::decay_t <X>, Methods>(0 ))::value && ...);
@@ -316,9 +322,13 @@ struct copy_method {
316322
317323namespace noexport {
318324
319- auto get_any_copy_method (type_list<>) -> void;
325+ inline auto get_any_copy_method (type_list<>) -> void {
326+ throw ;
327+ }
320328template <typename A, size_t N, typename ... Tail>
321- auto get_any_copy_method (type_list<copy_method<A, N>, Tail...>) -> copy_method<A, N>;
329+ auto get_any_copy_method (type_list<copy_method<A, N>, Tail...>) -> copy_method<A, N> {
330+ throw ;
331+ }
322332template <typename Head, typename ... Tail>
323333auto get_any_copy_method (type_list<Head, Tail...>) {
324334 return get_any_copy_method (type_list<Tail...>{});
@@ -514,9 +524,13 @@ namespace noexport {
514524// searches for ::type,
515525// if no ::type, then Plugin itself used
516526template <typename Plugin>
517- auto select_plugin (int ) -> typename Plugin::type;
527+ auto select_plugin (int ) -> typename Plugin::type {
528+ throw ;
529+ }
518530template <typename Plugin>
519- auto select_plugin (...) -> Plugin;
531+ auto select_plugin (...) -> Plugin {
532+ throw ;
533+ }
520534
521535} // namespace noexport
522536
0 commit comments