明示的なキャストは必要ない。チェックを行ったことを追跡して、必要であれば自動的にキャストを(安全に)挿入してくれる。xは自動的にStringにキャストされているチェックと利用との間で変数が変更されないことをコンパイラが保証できない時は、スマートキャストが効かないことに注意。仕様っぽい書き方をすると、次のルールに沿って有効になる。プロパティが宣言されたのと同じモジュール内でチェックが実行される場合。持つプロパティでは有効にならない。チェックと利用の間で値が変更されず、それを変更するようなラムダにキャプチャされない場合。有効にならない(コード内でいつでも変更可能なので)。通常キャスト演算子はキャストに失敗すると例外を投げる。「安全でない」と言っている。接中辞演算子で行われる。キャストできないことに注意。上のコードは例外を投げる。