Skip to content

Instantly share code, notes, and snippets.

View kmizu's full-sized avatar

Kota Mizushima kmizu

View GitHub Profile
class A() {
init {
val s: String = getStr()
println("${s.length}") // java.lang.NullPointerException
}
fun getStr(): String {
return str
}
@kmizu
kmizu / readme.md
Created January 17, 2017 10:28 — forked from xuwei-k/readme.md
kotlinにおけるバイナリ互換とは
object Main extends App{
trait Creatable[T] {
def create(): T
}
class Cat(val name: String)
// 自作の型への適用
implicit object Cat extends Creatable[Cat] {
def create() = new Cat("taro")
object Main extends App{
trait Creatable[T] {
def create(): T
}
class Cat(val name: String)
// 自作の型への適用
implicit object Cat extends Creatable[Cat] {
def create(): Cat = new Cat("taro")

構築する環境

  • Ubuntu 18.04 64bit
  • opam 2.0.0
  • ocaml 4.06.1 (最新は4.07だが、batteriesが未対応なので4.06で作る)
  • dune 1.2.1

準備

opam 2.0.0 のインストール