diff --git a/adapters/src/main/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactory.java b/adapters/src/main/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactory.java index 88cb8c5..27527a3 100644 --- a/adapters/src/main/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactory.java +++ b/adapters/src/main/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactory.java @@ -275,9 +275,6 @@ public final class PolymorphicJsonAdapterFactory implements JsonAdapter.Facto } @Override public void toJson(JsonWriter writer, Object value) throws IOException { - if (defaultValueSet && value == defaultValue) { - throw new IllegalArgumentException("Cannot serialize default value instance: " + value); - } Class type = value.getClass(); int labelIndex = subtypes.indexOf(type); if (labelIndex == -1) { diff --git a/adapters/src/test/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactoryTest.java b/adapters/src/test/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactoryTest.java index 37a3b1c..ffc479e 100644 --- a/adapters/src/test/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactoryTest.java +++ b/adapters/src/test/java/com/squareup/moshi/adapters/PolymorphicJsonAdapterFactoryTest.java @@ -105,24 +105,6 @@ public final class PolymorphicJsonAdapterFactoryTest { assertThat(message).isNull(); } - @Test public void toJsonDefaultValue() { - Error fallbackError = new Error(Collections.emptyMap()); - Moshi moshi = new Moshi.Builder() - .add(PolymorphicJsonAdapterFactory.of(Message.class, "type") - .withSubtype(Success.class, "success") - .withSubtype(Error.class, "error") - .withDefaultValue(fallbackError)) - .build(); - JsonAdapter adapter = moshi.adapter(Message.class); - - try { - String json = adapter.toJson(fallbackError); - fail(); - } catch (IllegalArgumentException e) { - assertThat(e).hasMessageContaining("Cannot serialize default value instance"); - } - } - @Test public void unregisteredSubtype() { Moshi moshi = new Moshi.Builder() .add(PolymorphicJsonAdapterFactory.of(Message.class, "type")