計算されたプロパティを含む単純な Swift 拡張機能を作成しようとしています。このコンパイル エラー (「宣言はファイル スコープでのみ有効です」) が発生する理由がわかりません。エラーは「private extension OpStack」行の先頭にあります。(このコードはクラスに含まれています。)
拡張機能内のすべてのコードを削除しても、同じエラーが発生します。
コードは次のとおりです。
private typealias OpStack = Array<Op>
private extension OpStack {
//^ error:"This declaration is only valid at file scope"
var topIsOperation: Bool {
if self.isEmpty { return false }
switch self[self.count-1] {
case .Operand:
return false
default:
return true
}
}
}