There are two distinct things here: one is that something is (presumably) crashing over this construct. The second -- more important -- thing is that from the user standpoint the failure is completely invisible. The insight window just goes blank. Anytime there's an unexpected failure the user should be informed of this fact. Silence is the worst, because people will blame themselves and struggle indefinitely making futile adjustments to code which was correct in the first place.
Letting the whole stack trace be displayed is obviously suboptimal, but it's still way better than swallowing it.
Manifestation: this expression causes the insight window to go dead.
List[Int]() map (_ :: Nil)
Weirdly, it briefly recovers if that expression is on the very first line - it will then display the result of the second expression, but only that one.
List[Int]() map (_ :: Nil)
"mom" // this displays "mom" on line 1 (not line 3)
5 // but subsequent expressions are not displayed
10 // nope etc etc
Another element which should narrow it way down is that this expression is fine:
There are two distinct things here: one is that something is (presumably) crashing over this construct. The second -- more important -- thing is that from the user standpoint the failure is completely invisible. The insight window just goes blank. Anytime there's an unexpected failure the user should be informed of this fact. Silence is the worst, because people will blame themselves and struggle indefinitely making futile adjustments to code which was correct in the first place.
Letting the whole stack trace be displayed is obviously suboptimal, but it's still way better than swallowing it.
Manifestation: this expression causes the insight window to go dead.
Weirdly, it briefly recovers if that expression is on the very first line - it will then display the result of the second expression, but only that one.
Another element which should narrow it way down is that this expression is fine: