Skip to content

Commit

Permalink
Move specialization for global op<< to the proper place
Browse files Browse the repository at this point in the history
In v2 it was placed in a very central header due to the way it was
stitched together. Now that we don't do that, we can move it to the
proper place, removing the potential for confusion given that the
original header was split apart and renamed.
  • Loading branch information
horenmar committed Jun 20, 2021
1 parent 4eb9af5 commit 849002a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
9 changes: 9 additions & 0 deletions src/catch2/catch_tostring.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,18 @@
#pragma warning(disable:4180) // We attempt to stream a function (address) by const&, which MSVC complains about but is harmless
#endif

// We need a dummy global operator<< so we can bring it into Catch namespace later
struct Catch_global_namespace_dummy{};
std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy);

namespace Catch {
// Bring in global namespace operator<< for ADL lookup in
// `IsStreamInsertable` below.
using ::operator<<;

namespace Detail {


constexpr StringRef unprintableString = "{?}"_sr;

//! Encases `string in quotes, and optionally escapes invisibles
Expand Down
10 changes: 0 additions & 10 deletions src/catch2/internal/catch_source_line_info.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
#include <cstddef>
#include <iosfwd>

// We need a dummy global operator<< so we can bring it into Catch namespace later
struct Catch_global_namespace_dummy {};
std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy);

namespace Catch {

struct SourceLineInfo {
Expand All @@ -33,12 +29,6 @@ namespace Catch {

friend std::ostream& operator << (std::ostream& os, SourceLineInfo const& info);
};


// Bring in operator<< from global namespace into Catch namespace
// This is necessary because the overload of operator<< above makes
// lookup stop at namespace Catch
using ::operator<<;
}

#define CATCH_INTERNAL_LINEINFO \
Expand Down

0 comments on commit 849002a

Please sign in to comment.