From 0cc3f72f55c15a9a07f88a8f78bc02a8348d84e0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 1 Aug 2026 18:03:03 +0000 Subject: [PATCH] fix: resolve always-true is-check and redundant cast warnings in ExplainedFilterTest Declaring 'advanced' as the base Filter type keeps the copy() regression guard as a genuine runtime assertion instead of a compile-time triviality, which is what the compiler was warning about. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012KG9YkeFp6zyth5J364DLF --- .../commons/relayClient/subscriptions/ExplainedFilterTest.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/relayClient/subscriptions/ExplainedFilterTest.kt b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/relayClient/subscriptions/ExplainedFilterTest.kt index a983b300e2..9e7f37a289 100644 --- a/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/relayClient/subscriptions/ExplainedFilterTest.kt +++ b/commons/src/jvmTest/kotlin/com/vitorpamplona/amethyst/commons/relayClient/subscriptions/ExplainedFilterTest.kt @@ -108,7 +108,9 @@ class ExplainedFilterTest { */ @Test fun `copy preserves the purpose`() { - val advanced = explained().copy(since = 1_785_379_272) + // Typed as the base Filter so the is-check below stays a runtime assertion — with the + // override's covariant return type inferred, the compiler would prove it true statically. + val advanced: Filter = explained().copy(since = 1_785_379_272) assertTrue("copy() must stay an ExplainedFilter", advanced is ExplainedFilter) assertEquals(SubPurpose.NOTIFICATIONS, advanced.purposeOrNull())