mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-17 00:21:28 +00:00
Avoid name clashes in cases such as
inline class Login(val login: String)
inline class Password(val password: String)
fun validate(login: Login) { ... }
fun validate(password: Password) { ... }
15 lines
300 B
Kotlin
Vendored
15 lines
300 B
Kotlin
Vendored
// !LANGUAGE: +InlineClasses
|
|
|
|
inline class Name(val name: String)
|
|
inline class Password(val password: String)
|
|
|
|
interface NameVerifier {
|
|
fun verify(name: Name)
|
|
}
|
|
|
|
interface PasswordVerifier {
|
|
fun verify(password: Password)
|
|
}
|
|
|
|
interface NameAndPasswordVerifier : NameVerifier, PasswordVerifier
|