Open wthrowe opened 3 years ago
I think the fix is adding a using ::operator<<;
inside those lambdas that do the streaming. Would you be willing to try that?
I get "error: no member named 'operator<<' in the global namespace".
I've noticed that the code is sensitive to the order of includes. In my original code snippet, including "Utilities/StlStreamDeclarations.hpp" before "Utilities/StdHelpers.hpp" makes everything work, but including it after does not help.
Sorry for the delay... Yea, I can see why this would be include order dependent... I don't really have a great idea other than the super sketchy (and technically UB) of moving the operator<<
for STL containers into the std
namespace. I'll need to think more about it. Maybe we can convince ADL to delay lookup long enough that all includes have been parsed?
It seems like this can mostly be worked around using MakeString
(and probably get_output
). Catch provides a way to override its "{?}" output using a CATCH_CONFIG_FALLBACK_STRINGIFIER
, but I haven't found a way to make it work yet.
That sounds like a much better approach :) It's nice that catch has a stringifier (as long is it works :P )