diff --git a/octa/range.h b/octa/range.h index 2f28d7a..799fadb 100644 --- a/octa/range.h +++ b/octa/range.h @@ -87,11 +87,12 @@ namespace octa { static constexpr bool value = (sizeof(__octa_test(0)) == sizeof(char)); }; - template, OutputRangeTag>::value || - __OctaOutputRangeTest &>::value || - __OctaOutputRangeTest &&>::value) - > struct IsOutputRange: False {}; + template, OutputRangeTag + >::value || (IsInputRange::value && + (__OctaOutputRangeTest &>::value || + __OctaOutputRangeTest &&>::value) + ))> struct IsOutputRange: False {}; template struct IsOutputRange: True {};