はじめに
こちらの記事を読んで理解が深まったので、自分用のメモを残します。 engawapg.net
レシーバーとは
https://github.com/JetBrains/kotlin/blob/master/libraries/stdlib/src/kotlin/util/Standard.kt
Scope functions | Kotlin Documentation
Higher-order functions and lambdas | Kotlin Documentation
Contractとは
smart cast の限界
Kotlinのsmart castの限界 - kmizuの日記
Smart Casts via Assertions + Kotlin Contracts | by Andre Perkins | ProAndroidDev
contractの動き compiler
Crash Course on the Kotlin Compiler - KotlinConf 2023 - Speaker Deck
KotlinのContract機能について #Kotlin - Qiita
Kotlin: Contracts + 拡張関数でより便利に - stsnブログ
K2 compiler
The K2 Compiler Is Going Stable in Kotlin 2.0 | The Kotlin Blog smart castのissueが解決する? https://youtrack.jetbrains.com/issues?q=%23KT-4113%20%23KT-1982%20%23KT-7186%20%23KT-28806&_gl=1*41u5zw*_ga*MTIxODIxOTQxOC4xNjkyNDUxNjUw*_ga_9J976DJZ68*MTY5MjQ1MTY1MC4xLjEuMTY5MjQ1MTY2My4wLjAuMA..&_ga=2.176328037.1725137540.1692451650-1218219418.1692451650