Eu posso definir um valor no Kotlin REPL assim (recursivamente) sem receber um erro:
val s: String = s
E agora eu recebo um "s" com o tipo de NotNull, mas o valor de null.
E eu posso fazer algo com isso NotNull
valor com um NPE:
>>> val s: String = s
>>> s.length
java.lang.NullPointerException
Você pode tentar em seu próprio Kotlin REPL, ele funciona o tempo todo.
Eu estou usando o Kotlin versão 1.1.2-3.
Respostas:
0 para resposta № 1Sim, isso é um bug.
val s: String = s
print(s.length)
Este código compilado com sucesso, mas em tempo de execução, está dando um erro.
Erro: Referência não resolvida: s
/>
2 para resposta № 2
Sim, é um bug do REPL.
No arquivo REAL Kotlin, ele irá reclamar como uma referência "Unresolve"
Desculpe, não posso postar um img, mas você pode tentar no seu IDE.
Eu estou usando o IntelliJ-IDEA 2017.1.3