diff options
author | Douglas Gregor <dgregor@apple.com> | 2017-07-05 20:20:14 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2017-07-05 20:20:14 +0000 |
commit | 00fa10b43f25d98e88cc81b653dfe8d49327722d (patch) | |
tree | 8c1b16ce1d358e2ec9eea2361b3404b2b3c1f4cc /lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py | |
parent | d968f6f42377f6917b454b6508385f2f179b1f0c (diff) | |
download | bcm5719-llvm-00fa10b43f25d98e88cc81b653dfe8d49327722d.tar.gz bcm5719-llvm-00fa10b43f25d98e88cc81b653dfe8d49327722d.zip |
Customize the SFINAE diagnostics for enable_if to provide the failed condition.
When enable_if disables a particular overload resolution candidate,
rummage through the enable_if condition to find the specific condition
that caused the failure. For example, if we have something like:
template<
typename Iter,
typename = std::enable_if_t<Random_access_iterator<Iter> &&
Comparable<Iterator_value_type<Iter>>>>
void mysort(Iter first, Iter last) {}
and we call "mysort" with "std::list<int>" iterators, we'll get a
diagnostic saying that the "Random_access_iterator<Iter>" requirement
failed. If we call "mysort" with
"std::vector<something_not_comparable>", we'll get a diagnostic saying
that the "Comparable<...>" requirement failed.
llvm-svn: 307196
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/TestCallStopAndContinue.py')
0 files changed, 0 insertions, 0 deletions