/ / Isso é um bug do Kotlin REPL? - kotlin, ler-eval-imprimir-loop

Isso é um bug do Kotlin REPL? - kotlin, ler-eval-imprimir-loop

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 № 1

Sim, 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


/>

insira a descrição da imagem aqui


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