blob: 87a531cd4f18ed5dda3365425e32f745c3ee6218 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
diff --git a/include/__concepts/arithmetic.h b/include/__concepts/arithmetic.h
index f86908c..e1ec8fc 100644
--- a/include/__concepts/arithmetic.h
+++ b/include/__concepts/arithmetic.h
@@ -39,6 +39,8 @@ concept floating_point = is_floating_point_v<_Tp>;
template <class _Tp>
concept __libcpp_unsigned_integer = __libcpp_is_unsigned_integer<_Tp>::value;
template <class _Tp>
+concept __libcpp_not_integral = !is_integral_v<_Tp>;
+template <class _Tp>
concept __libcpp_signed_integer = __libcpp_is_signed_integer<_Tp>::value;
#endif // !defined(_LIBCPP_HAS_NO_CONCEPTS)
diff --git a/include/__format/format_arg.h b/include/__format/format_arg.h
index 5e1565b..443c9e3 100644
--- a/include/__format/format_arg.h
+++ b/include/__format/format_arg.h
@@ -250,7 +250,7 @@ private:
requires is_void_v<_Tp> _LIBCPP_HIDE_FROM_ABI explicit basic_format_arg(_Tp* __p) noexcept
: __ptr(__p), __type_(__format::__arg_t::__ptr) {}
- template <class _Tp>
+ template <__libcpp_not_integral _Tp>
_LIBCPP_HIDE_FROM_ABI explicit basic_format_arg(const _Tp& __v) noexcept
: __handle(__v), __type_(__format::__arg_t::__handle) {}
};
|