llvm-project/libcxx/test/std/iterators
Roger Ferrer Ibanez 6f56d3eee8 [libcxx] Define istream_iterator equality comparison operators out-of-line
Currently libc++ defines operator== and operator!= as friend functions in the
definition of the istream_iterator class template. Such definition has a subtle
difference from an out-of-line definition required by the C++ Standard: these
functions can only be found by argument-dependent lookup, but not by qualified
lookup.

This patch changes the definition, so that it conforms to the C++ Standard and
adds a check involving qualified lookup to the test suite.

Patch contributed by Mikhail Maltsev.

Differential Revision: https://reviews.llvm.org/D40415

llvm-svn: 320363
2017-12-11 13:54:58 +00:00
..
iterator.container More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in string, string_view, and the free function std::empty(). Removed tabs from <string_view>, which is why the diff is so big. 2017-11-15 20:02:27 +00:00
iterator.primitives Another test for LWG2952 2017-11-14 01:18:36 +00:00
iterator.range Change (void) casts to TEST_IGNORE_NODISCARD, as requested by Eric. Reviewed as https://reviews.llvm.org/D40065 2017-11-21 21:37:26 +00:00
iterator.requirements
iterator.synopsis
iterators.general Change (void) casts to TEST_IGNORE_NODISCARD, as requested by Eric. Reviewed as https://reviews.llvm.org/D40065 2017-11-21 21:37:26 +00:00
predef.iterators Change (void) casts to TEST_IGNORE_NODISCARD, as requested by Eric. Reviewed as https://reviews.llvm.org/D40065 2017-11-21 21:37:26 +00:00
stream.iterators [libcxx] Define istream_iterator equality comparison operators out-of-line 2017-12-11 13:54:58 +00:00