From 6f370218bd5b8bfb04ebbe3a332cfa3dc1b5f600 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Fri, 17 Feb 2017 16:19:41 -0800 Subject: [PATCH] [P0547] Fix deduction constraints, refs #330 --- ext/constructible/constructible.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ext/constructible/constructible.md b/ext/constructible/constructible.md index 109ca361..91abba1d 100644 --- a/ext/constructible/constructible.md +++ b/ext/constructible/constructible.md @@ -118,9 +118,11 @@ In the "Proposed Resolution" that follows, there are editorial notes that highli > >   return CommonReference<const T&, const U&>() && requires(T&& t, U&& u) { > >     { std::forward<T>(t) = std::forward<U>(u) } -> Same<T&>; > >   return is_lvalue_reference<T>::value && // see below -> >     CommonReference<T, const U&>() && +> >     CommonReference< +> >       const remove_reference_t<T>&, +> >       const remove_reference_t<U>&>() && > >     requires(T t, U&& u) { -> >       { t = std::forward<U>(u) } -> Same<T>; +> >       { t = std::forward<U>(u) } -> Same<T>&&; > >     }; > > } > @@ -156,8 +158,8 @@ In the "Proposed Resolution" that follows, there are editorial notes that highli > >     delete[] p; > >   return is_nothrow_destructible<T>::value && // see below > >     requires(T& t, const remove_reference_t<T>& ct) { -> >       { &t } -> Same<remove_reference_t<T>\*>; // not required to be equality preserving -> >       { &ct } -> Same<const remove_reference_t<T>\*>; // not required to be equality preserving +> >       { &t } -> Same<remove_reference_t<T>\*>&&; // not required to be equality preserving +> >       { &ct } -> Same<const remove_reference_t<T>\*>&&; // not required to be equality preserving > >     }; > > } >