]> granicus.if.org Git - clang/commitdiff
Clarify. Thanks to Sean Silva and Warren Hunt for help wordsmithing!
authorNick Lewycky <nicholas@mxc.ca>
Tue, 28 Jan 2014 07:03:46 +0000 (07:03 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Tue, 28 Jan 2014 07:03:46 +0000 (07:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200292 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LanguageExtensions.rst

index 0a90bb7e7e9583b8f3340c306fbfc0d3960aeb05..48bb6e8cc98f9a46c1d292d84bcf9c927ba1c5f4 100644 (file)
@@ -1448,12 +1448,12 @@ whether it is a redeclaration (following the rules used when determining
 whether a C++ template specialization is ODR-equivalent), but is not part of
 the type.
 
-An enable_if expression will be evaluated by substituting the values of the
-parameters from the call site into the arguments in the expression and
-determining whether the result is true. If the result is false or could not be
-determined through constant expression evaluation, then this overload will not
-be chosen and the reason supplied in the string will be given to the user if
-their code does not compile as a result.
+The enable_if expression is evaluated as if it were the body of a
+bool-returning constexpr function declared with the arguments of the function
+it is being applied to, then called with the parameters at the callsite. If the
+result is false or could not be determined through constant expression
+evaluation, then this overload will not be chosen and the provided string may
+be used in a diagnostic if the compile fails as a result.
 
 Because the enable_if expression is an unevaluated context, there are no global
 state changes, nor the ability to pass information from the enable_if