reverted regression in all-good task #1257
356 passed, 0 failed and 0 skipped
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.internal.fundamentals.collections.IzCollectionsTest.xml
1 tests were completed in 2ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.internal.fundamentals.collections.IzCollectionsTest | 1✅ | 2ms |
✅ izumi.reflect.internal.fundamentals.collections.IzCollectionsTest
✅ Collection utils should allow to convert mappings to multimaps
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.internal.fundamentals.platform.IzStringTest.xml
1 tests were completed in 2ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.internal.fundamentals.platform.IzStringTest | 1✅ | 2ms |
✅ izumi.reflect.internal.fundamentals.platform.IzStringTest
✅ Extended string should support boolean parsing
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.BasicDottyTest.xml
1 tests were completed in 193ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.BasicDottyTest | 1✅ | 193ms |
✅ izumi.reflect.test.BasicDottyTest
✅ super-basic test 1
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.LightTypeTagProgressionTest.xml
16 tests were completed in 216ms with 16 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.LightTypeTagProgressionTest | 16✅ | 216ms |
✅ izumi.reflect.test.LightTypeTagProgressionTest
✅ [progression] lightweight type tags (all versions) should progression test: can't support subtyping of type prefixes
✅ [progression] lightweight type tags (all versions) should progression test: can't support subtyping of concrete type projections
✅ [progression] lightweight type tags (all versions) should progression test: subtype check fails when child type has absorbed a covariant type parameter of the supertype
✅ [progression] lightweight type tags (all versions) should progression test: bounds-based subtype checks for lambdas do not work properly (LambdaParameter must contain bounds and NameReferences shouldn't for this to work)
✅ [progression] lightweight type tags (all versions) should progression test: a portion of `support swapped parents` fails on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: indirect structural checks do not work
✅ [progression] lightweight type tags (all versions) should progression test: combined intersection lambda tags still contain some junk bases (coming from the unsound same-arity assumption in LightTypeTag#combine)
✅ [progression] lightweight type tags (all versions) should progression test: combined lambda tags still contain some junk bases (coming from the unsound same-arity assumption in LightTypeTag#combine)
✅ [progression] lightweight type tags (all versions) should progression test: `applied tags should not contain junk bases` is not supported on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: `lambda tags should not contain junk bases` is not supported on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: Dotty fails to `support methods with type parameters in structural refinements`
✅ [progression] lightweight type tags (all versions) should fails to treat tautological refinements as equal to the underlying type
✅ [progression] lightweight type tags (all versions) should fails to support methods in refinements with multiple parameter lists
✅ [progression] lightweight type tags (all versions) should progression test: fails to `Any/Object relation is consistent with Scala`
✅ [progression] lightweight type tags (all versions) should progression test: can't distinguish between equal-bounded type and alias inside refinements in dotty
✅ [progression] lightweight type tag (Dotty) should fails to support polymorphic function types
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.LightTypeTagTest.xml
60 tests were completed in 984ms with 60 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.LightTypeTagTest | 60✅ | 984ms |
✅ izumi.reflect.test.LightTypeTagTest
✅ lightweight type tags (all versions) should support distinction between subtypes
✅ lightweight type tags (all versions) should eradicate intersection tautologies with Any/Object
✅ lightweight type tags (all versions) should do not eradicate intersections with Nothing
✅ lightweight type tags (all versions) should eradicate self-intersection (X with X)
✅ lightweight type tags (all versions) should support subtype checks
✅ lightweight type tags (all versions) should support unsound subtype checks
✅ lightweight type tags (all versions) should support swapped parents
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas in combined tags
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas in combined tags with multiple parameters
✅ lightweight type tags (all versions) should support PDTs
✅ lightweight type tags (all versions) should intersections are associative
✅ lightweight type tags (all versions) should runtime-combined intersections are associative
✅ lightweight type tags (all versions) should support type alias and refinement subtype checks
✅ lightweight type tags (all versions) should support refinement higher-kinded subtype checks
✅ lightweight type tags (all versions) should support literal types
✅ lightweight type tags (all versions) should resolve comparisons of object and trait with the same name
✅ lightweight type tags (all versions) should resolve prefixes of annotated types
✅ lightweight type tags (all versions) should `withoutArgs` comparison works
✅ lightweight type tags (all versions) should `typeArgs` works
✅ lightweight type tags (all versions) should support subtyping of a simple combined type
✅ lightweight type tags (all versions) should issue #762: properly strip away annotated types / empty refinements / type aliases
✅ lightweight type tags (all versions) should calculate identical hashCode in parsed and constructed instances
✅ lightweight type tags (all versions) should support non-positional typetag combination
✅ lightweight type tags (all versions) should support additional mixin traits after first trait with a HKT parameter
✅ lightweight type tags (all versions) should support LTagK* family summoners
✅ lightweight type tags (all versions) should support higher-kinded intersection type equality
✅ lightweight type tags (all versions) should support contravariance
✅ lightweight type tags (all versions) should support typetag combination
✅ lightweight type tags (all versions) should tautological intersections with Any/Object are discarded from internal structure
✅ lightweight type tags (all versions) should wildcards are supported
✅ lightweight type tags (all versions) should wildcards with bounds are supported
✅ lightweight type tags (all versions) should generate tags for wildcards with type boundaries
✅ lightweight type tags (all versions) should https://github.com/zio/izumi-reflect/issues/315 regression test 2.1.0-M1: IntegrationCheck[F] should not be related to IntegrationCheck[Identity]
✅ lightweight type tags (all versions) should normalize stable PDTs (https://github.com/zio/zio/issues/3390)
✅ lightweight type tags (all versions) should properly dealias and assign prefixes to existential types and wildcards
✅ lightweight type tags (all versions) should no redundant $ in object names
✅ lightweight type tags (all versions) should support basic None.type subtype check
✅ lightweight type tags (all versions) should supports complex type lambdas
✅ lightweight type tags (all versions) should intersection lambda tags should not contain junk bases
✅ lightweight type tags (all versions) should No degenerate lambdas (regression test https://github.com/zio/izumi-reflect/issues/345)
✅ lightweight type tags (all versions) should check subtyping when higher-kinds are involved on Scala 3
✅ lightweight type tags (all versions) should support higher-kinded intersection type subtyping
✅ lightweight type tags (all versions) should support higher-kinded intersection type combination isn't supported on Dotty
✅ lightweight type tags (all versions) should support structural & refinement type subtype checks
✅ lightweight type tags (all versions) should support structural & refinement type equality
✅ lightweight type tags (all versions) should strong summons test
✅ lightweight type tags (all versions) should distinguishes between val and type structural refinements
✅ lightweight type tags (all versions) should does not contain intersections in plain structural refinements
✅ lightweight type tags (all versions) should support equal-bounded types as paradoxical (before 2.3.0 and since 2.3.6 NOT equal to their underlying)
✅ lightweight type tags (all versions) should support structural subtype checks
✅ lightweight type tags (all versions) should what about non-empty refinements with intersections
✅ lightweight type tags (all versions) should support contravariance in refinement method comparisons
✅ lightweight type tags (all versions) should support human-readable representation
✅ lightweight type tags (Dotty) should tautological intersections with Matchable are discarded from internal structure (Scala 3 specific, Matchable)
✅ lightweight type tags (Dotty) should tautological intersections with Matchable are discarded from internal structure (Scala 3 specific, Matchable) (Tag)
✅ lightweight type tags (Dotty) should tautological unions with Any/AnyRef/Matchable/Object are discarded from internal structure (Scala 3 specific, Matchable)
✅ lightweight type tags (Dotty) should tautological unions with Any/AnyRef/Matchable/Object are discarded from internal structure (Scala 3 specific, Matchable) (Tag)
✅ lightweight type tags (Dotty) should support top-level abstract types (Scala 3 specific, top level type aliases)
✅ lightweight type tags (Dotty) should support opaque types
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.Scala213Plus_LightTypeTagTest.xml
2 tests were completed in 167ms with 2 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.Scala213Plus_LightTypeTagTest | 2✅ | 167ms |
✅ izumi.reflect.test.Scala213Plus_LightTypeTagTest
✅ lightweight type tags (2.13+) should literal types behave in sane manner https://github.com/zio/izumi-reflect/issues/284
✅ lightweight type tags (2.13+) should support string constant types (Scala 2.13+ syntax)
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.TagMacroTest.xml
1 tests were completed in 25ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagMacroTest | 1✅ | 25ms |
✅ izumi.reflect.test.TagMacroTest
✅ Tag macro should reconstruct lambda tags
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.TagProgressionTest.xml
13 tests were completed in 122ms with 13 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagProgressionTest | 13✅ | 122ms |
✅ izumi.reflect.test.TagProgressionTest
✅ [progression] Tag (all versions) should progression test: can't substitute type parameters inside defs/vals in structural types
✅ [progression] Tag (all versions) should progression test: cannot resolve a higher-kinded type in a higher-kinded tag in a named deeply-nested type lambda on Scala 2
✅ [progression] Tag (all versions) should progression test: cannot resolve a higher-kinded type in a higher-kinded tag in an anonymous deeply-nested type lambda
✅ [progression] Tag (all versions) should progression test: projections into singletons are not handled properly (on Scala 2)
✅ [progression] Tag (all versions) should Progression test: Scala 2 fails to Handle Tags outside of a predefined set (Somehow raw Tag.auto.T works on Scala 2, but not when defined as an alias)
✅ [progression] Tag (all versions) should progression test: fails to combine higher-kinded intersection types without losing ignored type arguments
✅ [progression] Tag (all versions) should progression test: Dotty fails to regression test: resolve correct closestClass for Scala vararg AnyVal (https://github.com/zio/izumi-reflect/issues/224)
✅ [progression] Tag (all versions) should progression test: fails to preserve lower bound when combining higher-kinded type members
✅ [progression] Tag (all versions) should progression test: fails on Scala 3 don't lose tautological intersection components other than Any/AnyRef
✅ [progression] Tag (all versions) should progression test: intersection tautologies are not removed automatically when constructing combined intersection type
✅ [progression] Tag (Dotty) should progression test: combine intersection path-dependent intersection types with inner tags doesn't work yet (Scala 3)
✅ [progression] Tag (Dotty) should progression test: fails to don't lose tautological union components other than Nothing
✅ [progression] Tag (Dotty) should progression test: union tautologies are not removed automatically when constructing combined union type
✅ izumi-reflect/izumi-reflect/.js/target/test-reports/TEST-izumi.reflect.test.TagTest.xml
83 tests were completed in 766ms with 83 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagTest | 83✅ | 766ms |
✅ izumi.reflect.test.TagTest
✅ Tag (all versions) should Work for any concrete type
✅ Tag (all versions) should Support identity lambda type equality
✅ Tag (all versions) should regression test for https://github.com/zio/izumi-reflect/issues/98
✅ Tag (all versions) should Work for any abstract type with available Tag when obscured by empty refinement
✅ Tag (all versions) should handle function local type aliases
✅ Tag (all versions) should Can dealias transparent type members with class type parameters inside them when a tag is summoned _inside_ the class, because LightTypeTags are not affected by https://github.com/scala/bug/issues/11139
✅ Tag (all versions) should Tag.auto.T kind inference macro works for known cases
✅ Tag (all versions) should Shouldn't work for any abstract type without available TypeTag or Tag or TagK
✅ Tag (all versions) should handle Id type lambda
✅ Tag (all versions) should handle Id1 type lambda
✅ Tag (all versions) should handle singleton types
✅ Tag (all versions) should handle nested intersection aliases
✅ Tag (all versions) should handle nested refined intersection aliases
✅ Tag (all versions) should simple combined Tag
✅ Tag (all versions) should consider class member's this-prefix to be the defining template, not the most specific prefix from where the call is happening (deliberate omission of this for better ergonomics in cakes)
✅ Tag (all versions) should Does NOT synthesize Tags for abstract types, but recursively summons Tag[this.Abstract]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (object X; X.T), does not summon Tag[X.T]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (trait X; X#T), does not summon Tag[X#T]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (val x; x.T), does not summon Tag[x.T]
✅ Tag (all versions) should Work for an abstract type with available TagK when obscured by empty refinement
✅ Tag (all versions) should Work for an abstract type with available TagK when TagK is requested through an explicit implicit
✅ Tag (all versions) should Work for an abstract type with available TagKK
✅ Tag (all versions) should Work for any configuration of parameters
✅ Tag (all versions) should handle Swap type lambda
✅ Tag (all versions) should Assemble from higher than TagKK tags
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/293 assemble tag for Builder[B, Collection[B]]
✅ Tag (all versions) should combine intersection types
✅ Tag (all versions) should summon HKT Tag for a Java type
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/76 derive tag for a parametric trait inside object
✅ Tag (all versions) should this.type tags should be generated, but are identical with their class / object tag
✅ Tag (all versions) should this.type should have correct prefix
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/83, convert trifunctor tag to bifunctor tag
✅ Tag (all versions) should resolve TagK from TagKK
✅ Tag (all versions) should can materialize TagK for type lambdas that close on a generic parameter with available Tag
✅ Tag (all versions) should can materialize TagK for type lambdas that close on a generic parameter with available Tag when the constructor is a type parameter
✅ Tag (all versions) should type parameter covariance works after combine
✅ Tag (all versions) should combine Const Lambda to TagK
✅ Tag (all versions) should combined TagK 3 & 2 parameter coherence
✅ Tag (all versions) should resolve TagKK from an odd higher-kinded Tag with swapped & ignored parameters
✅ Tag (all versions) should can resolve Tags of TagK's themselves correctly
✅ Tag (all versions) should regression test: ignore function-local anonymous classes (https://github.com/zio/zio/issues/4285)
✅ Tag (all versions) should equal path-dependent tags for singleton types are expected to be equal
✅ Tag (all versions) should return expected class tag
✅ Tag (all versions) should Work with term type prefixes
✅ Tag (all versions) should correctly resolve abstract types inside traits when summoned inside trait
✅ Tag (all versions) should combine higher-kinded type lambdas without losing ignored type arguments
✅ Tag (all versions) should resolve a higher-kinded type inside a named type lambda with ignored type arguments
✅ Tag (all versions) should resolve TagKK from an odd higher-kinded Tag with swapped & ignored parameters (low-level)
✅ Tag (all versions) should correctly resolve a higher-kinded nested type inside a named swap type lambda
✅ Tag (all versions) should support subtyping of parents parameterized with type lambdas in combined tags
✅ Tag (all versions) should support subtyping of parents parameterized with type lambdas in combined tags with multiple parameters
✅ Tag (all versions) should combine inside type lambdas with repeated usages of a type lambda type parameter
✅ Tag (all versions) should combine inside type lambdas with repeated usages of an outer type
✅ Tag (all versions) should combine inside type lambdas with repeated usages of an outer distinct type with the same type symbol
✅ Tag (all versions) should combine inside type lambdas where the type constructor of the type lambda result is a type lambda type parameter
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/82, convert trifunctor hkt to bifunctor when combining tags
✅ Tag (all versions) should combine higher-kinded types without losing ignored type arguments
✅ Tag (all versions) should resolve a higher-kinded type inside an anonymous type lambda with ignored & higher-kinded type arguments
✅ Tag (all versions) should correctly resolve a higher-kinded nested type inside an anonymous swap type lambda
✅ Tag (all versions) should handles abstract types instead of parameters
✅ Tag (all versions) should Generates lambda parents for lambda bases
✅ Tag (all versions) should subtyping for Invariant Java HKT
✅ Tag (all versions) should subtyping for Invariant Scala HKT
✅ Tag (all versions) should Work for structural concrete types
✅ Tag (all versions) should Work for any abstract type with available Tag while preserving additional type refinement
✅ Tag (all versions) should Work for any abstract type with available Tag while preserving additional method refinement
✅ Tag (all versions) should can resolve parameters in structural types
✅ Tag (all versions) should combine higher-kinded type members
✅ Tag (all versions) should regression test: do not be confused by a type alias of Set of an abstract type referred via this-prefix on Scala 3
✅ Tag (all versions) should support injecting runtime tags in place of type projections from type parameters / match types on type parameters
✅ Tag (all versions) should regression test for: Scala 2, https://github.com/zio/izumi-reflect/issues/189, parameterized type alias with intersection produces incorrect output
✅ Tag (all versions) should combining with wildcards is supported
✅ Tag (all versions) should other type members' bounds are not malformed when resolving parameters in structural types
✅ Tag (all versions) should form a correct type lambda for an equal-bounded abstract type
✅ Tag (all versions) should eradicate intersection tautologies with Any/Object (Tag)
✅ Tag (all versions) should tautological intersections with Any/Object are discarded from internal structure (Tag)
✅ Tag (Dotty) should Support union subtyping (Scala 3 specific, union types)
✅ Tag (Dotty) should Support HKTag for unapplied type lambdas with type bounds (Scala 3 specific, union types)
✅ Tag (Dotty) should Can create custom type tags to support bounded generics, e.g. <: Dep in TagK (Scala 3 HKTag Syntax)
✅ Tag (Dotty) should combine union types (Scala 3 specific, union types)
✅ Tag (Dotty) should type tags with bounds are successfully requested by TagMacro
✅ Tag (Dotty) should remove tautological unions with Nothing (LTT)
✅ Tag (Dotty) should remove tautological unions with Nothing (Tag)
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.internal.fundamentals.collections.IzCollectionsTest.xml
1 tests were completed in 17ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.internal.fundamentals.collections.IzCollectionsTest | 1✅ | 17ms |
✅ izumi.reflect.internal.fundamentals.collections.IzCollectionsTest
✅ Collection utils should allow to convert mappings to multimaps
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.internal.fundamentals.platform.IzStringTest.xml
1 tests were completed in 21ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.internal.fundamentals.platform.IzStringTest | 1✅ | 21ms |
✅ izumi.reflect.internal.fundamentals.platform.IzStringTest
✅ Extended string should support boolean parsing
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.BasicDottyTest.xml
1 tests were completed in 81ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.BasicDottyTest | 1✅ | 81ms |
✅ izumi.reflect.test.BasicDottyTest
✅ super-basic test 1
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.LightTypeTagProgressionTest.xml
16 tests were completed in 176ms with 16 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.LightTypeTagProgressionTest | 16✅ | 176ms |
✅ izumi.reflect.test.LightTypeTagProgressionTest
✅ [progression] lightweight type tags (all versions) should progression test: can't support subtyping of type prefixes
✅ [progression] lightweight type tags (all versions) should progression test: can't support subtyping of concrete type projections
✅ [progression] lightweight type tags (all versions) should progression test: subtype check fails when child type has absorbed a covariant type parameter of the supertype
✅ [progression] lightweight type tags (all versions) should progression test: bounds-based subtype checks for lambdas do not work properly (LambdaParameter must contain bounds and NameReferences shouldn't for this to work)
✅ [progression] lightweight type tags (all versions) should progression test: a portion of `support swapped parents` fails on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: indirect structural checks do not work
✅ [progression] lightweight type tags (all versions) should progression test: combined intersection lambda tags still contain some junk bases (coming from the unsound same-arity assumption in LightTypeTag#combine)
✅ [progression] lightweight type tags (all versions) should progression test: combined lambda tags still contain some junk bases (coming from the unsound same-arity assumption in LightTypeTag#combine)
✅ [progression] lightweight type tags (all versions) should progression test: `applied tags should not contain junk bases` is not supported on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: `lambda tags should not contain junk bases` is not supported on Dotty
✅ [progression] lightweight type tags (all versions) should progression test: Dotty fails to `support methods with type parameters in structural refinements`
✅ [progression] lightweight type tags (all versions) should fails to treat tautological refinements as equal to the underlying type
✅ [progression] lightweight type tags (all versions) should fails to support methods in refinements with multiple parameter lists
✅ [progression] lightweight type tags (all versions) should progression test: fails to `Any/Object relation is consistent with Scala`
✅ [progression] lightweight type tags (all versions) should progression test: can't distinguish between equal-bounded type and alias inside refinements in dotty
✅ [progression] lightweight type tag (Dotty) should fails to support polymorphic function types
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.LightTypeTagTest.xml
60 tests were completed in 1s with 60 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.LightTypeTagTest | 60✅ | 1s |
✅ izumi.reflect.test.LightTypeTagTest
✅ lightweight type tags (all versions) should support distinction between subtypes
✅ lightweight type tags (all versions) should eradicate intersection tautologies with Any/Object
✅ lightweight type tags (all versions) should do not eradicate intersections with Nothing
✅ lightweight type tags (all versions) should eradicate self-intersection (X with X)
✅ lightweight type tags (all versions) should support subtype checks
✅ lightweight type tags (all versions) should support unsound subtype checks
✅ lightweight type tags (all versions) should support swapped parents
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas in combined tags
✅ lightweight type tags (all versions) should support subtyping of parents parameterized with type lambdas in combined tags with multiple parameters
✅ lightweight type tags (all versions) should support PDTs
✅ lightweight type tags (all versions) should intersections are associative
✅ lightweight type tags (all versions) should runtime-combined intersections are associative
✅ lightweight type tags (all versions) should support type alias and refinement subtype checks
✅ lightweight type tags (all versions) should support refinement higher-kinded subtype checks
✅ lightweight type tags (all versions) should support literal types
✅ lightweight type tags (all versions) should resolve comparisons of object and trait with the same name
✅ lightweight type tags (all versions) should resolve prefixes of annotated types
✅ lightweight type tags (all versions) should `withoutArgs` comparison works
✅ lightweight type tags (all versions) should `typeArgs` works
✅ lightweight type tags (all versions) should support subtyping of a simple combined type
✅ lightweight type tags (all versions) should issue #762: properly strip away annotated types / empty refinements / type aliases
✅ lightweight type tags (all versions) should calculate identical hashCode in parsed and constructed instances
✅ lightweight type tags (all versions) should support non-positional typetag combination
✅ lightweight type tags (all versions) should support additional mixin traits after first trait with a HKT parameter
✅ lightweight type tags (all versions) should support LTagK* family summoners
✅ lightweight type tags (all versions) should support higher-kinded intersection type equality
✅ lightweight type tags (all versions) should support contravariance
✅ lightweight type tags (all versions) should support typetag combination
✅ lightweight type tags (all versions) should tautological intersections with Any/Object are discarded from internal structure
✅ lightweight type tags (all versions) should wildcards are supported
✅ lightweight type tags (all versions) should wildcards with bounds are supported
✅ lightweight type tags (all versions) should generate tags for wildcards with type boundaries
✅ lightweight type tags (all versions) should https://github.com/zio/izumi-reflect/issues/315 regression test 2.1.0-M1: IntegrationCheck[F] should not be related to IntegrationCheck[Identity]
✅ lightweight type tags (all versions) should normalize stable PDTs (https://github.com/zio/zio/issues/3390)
✅ lightweight type tags (all versions) should properly dealias and assign prefixes to existential types and wildcards
✅ lightweight type tags (all versions) should no redundant $ in object names
✅ lightweight type tags (all versions) should support basic None.type subtype check
✅ lightweight type tags (all versions) should supports complex type lambdas
✅ lightweight type tags (all versions) should intersection lambda tags should not contain junk bases
✅ lightweight type tags (all versions) should No degenerate lambdas (regression test https://github.com/zio/izumi-reflect/issues/345)
✅ lightweight type tags (all versions) should check subtyping when higher-kinds are involved on Scala 3
✅ lightweight type tags (all versions) should support higher-kinded intersection type subtyping
✅ lightweight type tags (all versions) should support higher-kinded intersection type combination isn't supported on Dotty
✅ lightweight type tags (all versions) should support structural & refinement type subtype checks
✅ lightweight type tags (all versions) should support structural & refinement type equality
✅ lightweight type tags (all versions) should strong summons test
✅ lightweight type tags (all versions) should distinguishes between val and type structural refinements
✅ lightweight type tags (all versions) should does not contain intersections in plain structural refinements
✅ lightweight type tags (all versions) should support equal-bounded types as paradoxical (before 2.3.0 and since 2.3.6 NOT equal to their underlying)
✅ lightweight type tags (all versions) should support structural subtype checks
✅ lightweight type tags (all versions) should what about non-empty refinements with intersections
✅ lightweight type tags (all versions) should support contravariance in refinement method comparisons
✅ lightweight type tags (all versions) should support human-readable representation
✅ lightweight type tags (Dotty) should tautological intersections with Matchable are discarded from internal structure (Scala 3 specific, Matchable)
✅ lightweight type tags (Dotty) should tautological intersections with Matchable are discarded from internal structure (Scala 3 specific, Matchable) (Tag)
✅ lightweight type tags (Dotty) should tautological unions with Any/AnyRef/Matchable/Object are discarded from internal structure (Scala 3 specific, Matchable)
✅ lightweight type tags (Dotty) should tautological unions with Any/AnyRef/Matchable/Object are discarded from internal structure (Scala 3 specific, Matchable) (Tag)
✅ lightweight type tags (Dotty) should support top-level abstract types (Scala 3 specific, top level type aliases)
✅ lightweight type tags (Dotty) should support opaque types
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.Scala213Plus_LightTypeTagTest.xml
2 tests were completed in 44ms with 2 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.Scala213Plus_LightTypeTagTest | 2✅ | 44ms |
✅ izumi.reflect.test.Scala213Plus_LightTypeTagTest
✅ lightweight type tags (2.13+) should literal types behave in sane manner https://github.com/zio/izumi-reflect/issues/284
✅ lightweight type tags (2.13+) should support string constant types (Scala 2.13+ syntax)
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.TagMacroTest.xml
1 tests were completed in 3ms with 1 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagMacroTest | 1✅ | 3ms |
✅ izumi.reflect.test.TagMacroTest
✅ Tag macro should reconstruct lambda tags
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.TagProgressionTest.xml
13 tests were completed in 170ms with 13 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagProgressionTest | 13✅ | 170ms |
✅ izumi.reflect.test.TagProgressionTest
✅ [progression] Tag (all versions) should progression test: can't substitute type parameters inside defs/vals in structural types
✅ [progression] Tag (all versions) should progression test: cannot resolve a higher-kinded type in a higher-kinded tag in a named deeply-nested type lambda on Scala 2
✅ [progression] Tag (all versions) should progression test: cannot resolve a higher-kinded type in a higher-kinded tag in an anonymous deeply-nested type lambda
✅ [progression] Tag (all versions) should progression test: projections into singletons are not handled properly (on Scala 2)
✅ [progression] Tag (all versions) should Progression test: Scala 2 fails to Handle Tags outside of a predefined set (Somehow raw Tag.auto.T works on Scala 2, but not when defined as an alias)
✅ [progression] Tag (all versions) should progression test: fails to combine higher-kinded intersection types without losing ignored type arguments
✅ [progression] Tag (all versions) should progression test: Dotty fails to regression test: resolve correct closestClass for Scala vararg AnyVal (https://github.com/zio/izumi-reflect/issues/224)
✅ [progression] Tag (all versions) should progression test: fails to preserve lower bound when combining higher-kinded type members
✅ [progression] Tag (all versions) should progression test: fails on Scala 3 don't lose tautological intersection components other than Any/AnyRef
✅ [progression] Tag (all versions) should progression test: intersection tautologies are not removed automatically when constructing combined intersection type
✅ [progression] Tag (Dotty) should progression test: combine intersection path-dependent intersection types with inner tags doesn't work yet (Scala 3)
✅ [progression] Tag (Dotty) should progression test: fails to don't lose tautological union components other than Nothing
✅ [progression] Tag (Dotty) should progression test: union tautologies are not removed automatically when constructing combined union type
✅ izumi-reflect/izumi-reflect/.jvm/target/test-reports/TEST-izumi.reflect.test.TagTest.xml
83 tests were completed in 1s with 83 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
izumi.reflect.test.TagTest | 83✅ | 1s |
✅ izumi.reflect.test.TagTest
✅ Tag (all versions) should Work for any concrete type
✅ Tag (all versions) should Support identity lambda type equality
✅ Tag (all versions) should regression test for https://github.com/zio/izumi-reflect/issues/98
✅ Tag (all versions) should Work for any abstract type with available Tag when obscured by empty refinement
✅ Tag (all versions) should handle function local type aliases
✅ Tag (all versions) should Can dealias transparent type members with class type parameters inside them when a tag is summoned _inside_ the class, because LightTypeTags are not affected by https://github.com/scala/bug/issues/11139
✅ Tag (all versions) should Tag.auto.T kind inference macro works for known cases
✅ Tag (all versions) should Shouldn't work for any abstract type without available TypeTag or Tag or TagK
✅ Tag (all versions) should handle Id type lambda
✅ Tag (all versions) should handle Id1 type lambda
✅ Tag (all versions) should handle singleton types
✅ Tag (all versions) should handle nested intersection aliases
✅ Tag (all versions) should handle nested refined intersection aliases
✅ Tag (all versions) should simple combined Tag
✅ Tag (all versions) should consider class member's this-prefix to be the defining template, not the most specific prefix from where the call is happening (deliberate omission of this for better ergonomics in cakes)
✅ Tag (all versions) should Does NOT synthesize Tags for abstract types, but recursively summons Tag[this.Abstract]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (object X; X.T), does not summon Tag[X.T]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (trait X; X#T), does not summon Tag[X#T]
✅ Tag (all versions) should DOES synthesize Tags for abstract types (val x; x.T), does not summon Tag[x.T]
✅ Tag (all versions) should Work for an abstract type with available TagK when obscured by empty refinement
✅ Tag (all versions) should Work for an abstract type with available TagK when TagK is requested through an explicit implicit
✅ Tag (all versions) should Work for an abstract type with available TagKK
✅ Tag (all versions) should Work for any configuration of parameters
✅ Tag (all versions) should handle Swap type lambda
✅ Tag (all versions) should Assemble from higher than TagKK tags
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/293 assemble tag for Builder[B, Collection[B]]
✅ Tag (all versions) should combine intersection types
✅ Tag (all versions) should summon HKT Tag for a Java type
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/76 derive tag for a parametric trait inside object
✅ Tag (all versions) should this.type tags should be generated, but are identical with their class / object tag
✅ Tag (all versions) should this.type should have correct prefix
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/83, convert trifunctor tag to bifunctor tag
✅ Tag (all versions) should resolve TagK from TagKK
✅ Tag (all versions) should can materialize TagK for type lambdas that close on a generic parameter with available Tag
✅ Tag (all versions) should can materialize TagK for type lambdas that close on a generic parameter with available Tag when the constructor is a type parameter
✅ Tag (all versions) should type parameter covariance works after combine
✅ Tag (all versions) should combine Const Lambda to TagK
✅ Tag (all versions) should combined TagK 3 & 2 parameter coherence
✅ Tag (all versions) should resolve TagKK from an odd higher-kinded Tag with swapped & ignored parameters
✅ Tag (all versions) should can resolve Tags of TagK's themselves correctly
✅ Tag (all versions) should regression test: ignore function-local anonymous classes (https://github.com/zio/zio/issues/4285)
✅ Tag (all versions) should equal path-dependent tags for singleton types are expected to be equal
✅ Tag (all versions) should return expected class tag
✅ Tag (all versions) should Work with term type prefixes
✅ Tag (all versions) should correctly resolve abstract types inside traits when summoned inside trait
✅ Tag (all versions) should combine higher-kinded type lambdas without losing ignored type arguments
✅ Tag (all versions) should resolve a higher-kinded type inside a named type lambda with ignored type arguments
✅ Tag (all versions) should resolve TagKK from an odd higher-kinded Tag with swapped & ignored parameters (low-level)
✅ Tag (all versions) should correctly resolve a higher-kinded nested type inside a named swap type lambda
✅ Tag (all versions) should support subtyping of parents parameterized with type lambdas in combined tags
✅ Tag (all versions) should support subtyping of parents parameterized with type lambdas in combined tags with multiple parameters
✅ Tag (all versions) should combine inside type lambdas with repeated usages of a type lambda type parameter
✅ Tag (all versions) should combine inside type lambdas with repeated usages of an outer type
✅ Tag (all versions) should combine inside type lambdas with repeated usages of an outer distinct type with the same type symbol
✅ Tag (all versions) should combine inside type lambdas where the type constructor of the type lambda result is a type lambda type parameter
✅ Tag (all versions) should regression test: https://github.com/zio/izumi-reflect/issues/82, convert trifunctor hkt to bifunctor when combining tags
✅ Tag (all versions) should combine higher-kinded types without losing ignored type arguments
✅ Tag (all versions) should resolve a higher-kinded type inside an anonymous type lambda with ignored & higher-kinded type arguments
✅ Tag (all versions) should correctly resolve a higher-kinded nested type inside an anonymous swap type lambda
✅ Tag (all versions) should handles abstract types instead of parameters
✅ Tag (all versions) should Generates lambda parents for lambda bases
✅ Tag (all versions) should subtyping for Invariant Java HKT
✅ Tag (all versions) should subtyping for Invariant Scala HKT
✅ Tag (all versions) should Work for structural concrete types
✅ Tag (all versions) should Work for any abstract type with available Tag while preserving additional type refinement
✅ Tag (all versions) should Work for any abstract type with available Tag while preserving additional method refinement
✅ Tag (all versions) should can resolve parameters in structural types
✅ Tag (all versions) should combine higher-kinded type members
✅ Tag (all versions) should regression test: do not be confused by a type alias of Set of an abstract type referred via this-prefix on Scala 3
✅ Tag (all versions) should support injecting runtime tags in place of type projections from type parameters / match types on type parameters
✅ Tag (all versions) should regression test for: Scala 2, https://github.com/zio/izumi-reflect/issues/189, parameterized type alias with intersection produces incorrect output
✅ Tag (all versions) should combining with wildcards is supported
✅ Tag (all versions) should other type members' bounds are not malformed when resolving parameters in structural types
✅ Tag (all versions) should form a correct type lambda for an equal-bounded abstract type
✅ Tag (all versions) should eradicate intersection tautologies with Any/Object (Tag)
✅ Tag (all versions) should tautological intersections with Any/Object are discarded from internal structure (Tag)
✅ Tag (Dotty) should Support union subtyping (Scala 3 specific, union types)
✅ Tag (Dotty) should Support HKTag for unapplied type lambdas with type bounds (Scala 3 specific, union types)
✅ Tag (Dotty) should Can create custom type tags to support bounded generics, e.g. <: Dep in TagK (Scala 3 HKTag Syntax)
✅ Tag (Dotty) should combine union types (Scala 3 specific, union types)
✅ Tag (Dotty) should type tags with bounds are successfully requested by TagMacro
✅ Tag (Dotty) should remove tautological unions with Nothing (LTT)
✅ Tag (Dotty) should remove tautological unions with Nothing (Tag)