Skip to content

Instantly share code, notes, and snippets.

@happy-bracket
Created February 6, 2020 10:27
Show Gist options
  • Save happy-bracket/9fb608942f4029fd6996184a30a4cdfd to your computer and use it in GitHub Desktop.
Save happy-bracket/9fb608942f4029fd6996184a30a4cdfd to your computer and use it in GitHub Desktop.
HList-like Builder question mark ?
fun main() {
mock<WriteRound<Int, WriteRound<String, WriteRound<Boolean, Terminate>>>>()
.set(3)
.set("sss")
.set(true)
}
fun <T> mock(): T = TODO()
sealed class WriteBuilder
object Terminate : WriteBuilder()
class WriteRound<V, N : WriteBuilder> : WriteBuilder()
object Query
fun <V> WriteRound<V, Terminate>.set(v: V): Query { TODO() }
fun <V, T : WriteRound<*, *>, W : WriteRound<V, T>> W.set(v: V): T {
TODO()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment