switch文のfallthroughについて

switch文ではレンジ演算子やタプル等を用いることで色々な条件分岐が作成できる。
今回はfallthroughキーワードについて少しハマったのでこれについて書く。fallthroughとは、あるcaseでの処理を実行してもswitch文を抜けず、次のcaseでの処理へ進ませるキーワードである。

エラー ( fallthrough cannot transfer control to a case label that declares variables)

var i = 1

switch i {
case 1:
    print("1")
    fallthrough  // `fallthrough` cannot transfer control to a case label that declares variables
case let n where n == 1:
    print("n=1")
default:
    print("default")
}

この場合の正解

var i = 1

switch i {
case let n where n == 1:
    print("n=1")  // n=1
    fallthrough
case 1:
    print("1")  // 1
default:
    print("default")
}

結論からいくと、fallthroughの後のcaseでは値の代入をしてはいけないということらしい。 もし間違っていたら、誰かこっそり教えてください。。。