@@ -266,15 +266,13 @@ class inline_or_executor
266266 * asio::execution::blocking.never); @endcode
267267 */
268268 template <typename Property>
269- inline_or_executor<Executor, execution::blocking_t ::never_t ,
270- InlineExceptionHandling>
271- require (const Property&,
272- constraint_t <
273- is_same<Property, execution::blocking_t ::never_t >::value
274- > = 0 ,
275- constraint_t <
276- can_require<const Executor&, Property>::value
277- > = 0 ) const noexcept
269+ constraint_t <
270+ is_same<Property, execution::blocking_t ::never_t >::value
271+ && can_require<const Executor&, Property>::value,
272+ inline_or_executor<Executor, execution::blocking_t ::never_t ,
273+ InlineExceptionHandling>
274+ >
275+ require (const Property&) const noexcept
278276 {
279277 return inline_or_executor<Executor, execution::blocking_t ::never_t ,
280278 InlineExceptionHandling>(executor_);
@@ -329,18 +327,16 @@ class inline_or_executor
329327 * asio::execution::relationship.continuation); @endcode
330328 */
331329 template <typename Property>
332- inline_or_executor<decay_t <require_result_t <const Executor&, Property>>,
333- Blocking, InlineExceptionHandling>
334- require (const Property& p,
335- constraint_t <
336- can_require<const Executor&, Property>::value
337- > = 0 ,
338- constraint_t <
339- !is_convertible<Property, execution::blocking_t >::value
340- > = 0 ,
341- constraint_t <
342- !is_convertible<Property, execution::inline_exception_handling_t >::value
343- > = 0 ) const
330+ constraint_t <
331+ can_require<const Executor&, Property>::value
332+ && !is_convertible<Property,
333+ execution::blocking_t >::value
334+ && !is_convertible<Property,
335+ execution::inline_exception_handling_t >::value,
336+ inline_or_executor<decay_t <require_result_t <const Executor&, Property>>,
337+ Blocking, InlineExceptionHandling>
338+ >
339+ require (const Property& p)
344340 noexcept (is_nothrow_require<const Executor&, Property>::value)
345341 {
346342 return inline_or_executor<
0 commit comments