You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi everyone, been working with datalore for a bit and came across something interesting that I was wondering if others would have an explanation for:
I have code that compiles fine locally with gradle and on play.kotlinlang.org, however, this same code does not compile in the latest kotlin kernel for datalore
the main errors I encountered were smart cast and exhaustive when check errors
could not smart cast a variable i checked with !! previously to the non-null version of the type
could not determine the when statement over a sealed interface type was exhaustive and recommended an else branch
is the kotlin kernel (for jupyter? or is datalore different?) just behind on these analysis checks? or is there a reason for these analysis checks being dropped?
Hi! Provided code samples seem to work for us. Do they fail for you or you have attached already fixed code samples? It would be also great to have minimal reproducers for both of the problems.
Hi, sorry for the late response. I have attached the already fixed code. Lines 158 and 247 were added to satisfy the errors I stated before. This code was tested both in Datalore and the Kotlin Notebooks plugin and resulted in the same errors. Hope that clears things up.
I discovered this issue when researching why exhaustive when statements don't work properly in the kotlin jupyter kernel. This seems to be the same problem I encountered.
Small reproduction sample (copied into a code cell in Jupyter):
sealedinterfaceMyTypeobject A : MyType
object B : MyType
funfunc(e:MyType) {
when (e) {
isA->TODO()
isB->TODO()
}
}
Compiler message:
Line_0.jupyter.kts (6:5 - 9) 'when' expression must be exhaustive, add necessary 'else' branch
Hi everyone, been working with datalore for a bit and came across something interesting that I was wondering if others would have an explanation for:
I have code that compiles fine locally with gradle and on play.kotlinlang.org, however, this same code does not compile in the latest kotlin kernel for datalore
the main errors I encountered were smart cast and exhaustive when check errors
is the kotlin kernel (for jupyter? or is datalore different?) just behind on these analysis checks? or is there a reason for these analysis checks being dropped?
here is a gist of the code in the datalore notebook: https://gist.github.com/JarnaChao09/24ec66e1f4e13d96a2452977dc193851
thanks for your insight in advance!
The text was updated successfully, but these errors were encountered: