lg2: fix clang static_assert fire

There are variants of the conversion functions that are in place
simply to provide better diagnostics to users when they pass the
wrong content into a `lg2::log` function.  Most of these use
`static_assert`s which can only fire when the compiler is able to
deduce the appropriate types, and thus the function is incorrectly
being used.

clang happens to be smarter than that.  Even when it cannot deduce
the types necessary to fully instantiate the function, the asserts
can fire if all of the types necessary for the `static_assert` were
deduced.  Thus a `static_assert` like this can trigger:

    static_assert(!std::is_same<foo, foo>, ...)

Workaround this by ensuring that at least one un-deduced type is
included in all of these diagnostic-function-only `static_assert`.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I025e08661c6250c886803dfc308ad6acbd7e57cb
diff --git a/lib/include/phosphor-logging/lg2/conversion.hpp b/lib/include/phosphor-logging/lg2/conversion.hpp
index 3a81d8d..1ab7f09 100644
--- a/lib/include/phosphor-logging/lg2/conversion.hpp
+++ b/lib/include/phosphor-logging/lg2/conversion.hpp
@@ -364,7 +364,7 @@
     template <typename... Ts>
     static void step(std::tuple<Ts...>&&, header_str)
     {
-        static_assert(!std::is_same_v<header_str, header_str>,
+        static_assert(std::is_same_v<std::tuple<Ts...>, header_str>,
                       "Found header field without expected data.");
     }