message: Fix serialization test.
  We were testing the ability to round-trip a negative value in unsigned
  types, and the attempt to truncate/wrap values into these types failed.
diff: // Standard includes
  #include <string>
  +#include <type_traits>
  using osvr::common::Buffer;
  @@ -197,8 +198,11 @@ TYPED_TEST(ArithmeticRawSerialization, RoundTripBigger) {
  }
  TYPED_TEST(ArithmeticRawSerialization, RoundTripNegative) {
  + // Only do the body of this test for signed types.
  + if (std::is_signed<TypeParam>()) {
  Buffer<> buf;
  - TypeParam inVal = static_cast<TypeParam>(-50.5); // OK that it will truncate
  + TypeParam inVal =
  + static_cast<TypeParam>(-50.5); // OK that it will truncate
  // for integers, since we
  // compare inVal vs outVal,
  // not the literal.
  @@ -214,6 +218,7 @@ TYPED_TEST(ArithmeticRawSerialization, RoundTripNegative) {
  ASSERT_EQ(reader.bytesRead(), sizeof(TypeParam));
  ASSERT_EQ(reader.bytesRemaining(), 0);
  }
  +}
  #ifdef _MSC_VER
  /// Disable "truncation of constant value" warning here.
  #pragma warning(pop)
  