arrow-meta
arrow-meta copied to clipboard
Functional companion to Kotlin's Compiler
* **Goal**: To demostrate that altered subtype relationships take effect in code when `KotlinType.isSubtypeOf(superType:KotlinType): Boolean` is called. * Source: #221
Use Kotlin compiler.
**Describe the bug** When trying to define my own refined types I'm getting an `Exception java.lang.IllegalArgumentException: object is not an instance of declaring class : PositiveInt2.Companion.invoke ` using `1.5.0-SNAPSHOT` **To...
[BUG] refined-type-plugin is not getting applied when evaluating dynamic variables at compile time
**Describe the bug** refined-type-plugin is not getting applied when evaluating dynamic variables at compile time **To Reproduce** Update [demo code](https://github.com/arrow-kt/arrow-meta-examples/blob/main/demos/refined-types-compiler-plugin-demo/src/main/kotlin/io/arrowkt/example/Context.kt) with ``` data class PositiveIntEven private constructor(val value: Int) {...
**Is your feature request related to a problem? Please describe.** Kotlin Serialization and possibly other compiler plugins can create invalid state of a refined type. Example: ``` @JvmInline @Serializable value...
**Describe the bug** Having a comment on the same line as an annotation causes an `IllegalStateException`, _if_ an overridden property is annotated ```kotlin interface Fruit { val weight: Int }...
This covers the complete Union types feature. ### Requirements * [x] Fold union types e.g: Union2 to A | B for readability. Only for the parent union, we don’t want...
**Describe the bug** Arrow Meta causes imports for object members to give the error "Packages cannot be imported". The code compiles and runs fine without Arrow Meta. **To Reproduce** Enable...
This covers the complete Refined types feature. ### Requirements * [x] Declarations: If class is annotated with @Refinement, show line marker with icon explaining what’s happening. Line marker is there,...