Reproduce wrong binary resolution to fun w/ value class
^KT-65653
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
// MODULE: lib
|
||||
|
||||
// FILE: some/graphics/Color.kt
|
||||
|
||||
package some.graphics
|
||||
|
||||
@JvmInline
|
||||
value class Color(val value: Int) {
|
||||
companion object {
|
||||
val Blue = Color(42)
|
||||
}
|
||||
}
|
||||
|
||||
// FILE: some/unit/ColorProvider.kt
|
||||
|
||||
package some.unit
|
||||
|
||||
import some.graphics.Color
|
||||
|
||||
interface Context
|
||||
|
||||
interface ColorProvider {
|
||||
fun getColor(context: Context): Color
|
||||
}
|
||||
|
||||
fun ColorProvider(color: Color): ColorProvider {
|
||||
return FixedColorProvider(color)
|
||||
}
|
||||
|
||||
fun ColorProvider(resId: Int): ColorProvider {
|
||||
return ResourceColorProvider(resId)
|
||||
}
|
||||
|
||||
data class FixedColorProvider(val color: Color) : ColorProvider {
|
||||
override fun getColor(context: Context) = color
|
||||
}
|
||||
|
||||
data class ResourceColorProvider(val resId: Int) : ColorProvider {
|
||||
override fun getColor(context: Context): Color = Color(resId)
|
||||
}
|
||||
|
||||
// MODULE: app(lib)
|
||||
// MODULE_KIND: Source
|
||||
// FILE: main.kt
|
||||
|
||||
import some.graphics.Color
|
||||
import some.unit.ColorProvider
|
||||
|
||||
fun test() {
|
||||
val color = Color<caret>Provider(color = Color.Blue)
|
||||
}
|
||||
Reference in New Issue
Block a user