swiftlang/swift
Auf GitHub ansehen[SR-9795] Cannot use `super` in lazy property: 'super' cannot be used outside of class members
Open
#52.220 geöffnet am 29. Jan. 2019
bugcompilergood first issue
Repository-Metriken
- Stars
- (69.989 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 8T 17h) (510 gemergte PRs in 30 T)
Beschreibung
| Previous ID | SR-9795 |
| Radar | None |
| Original Reporter | @marcomasser |
| Type | Bug |
Tested with Swift 4.2.1 (Xcode 10.1) and Swift 5 from Xcode 10.2 beta (swiftlang-1001.0.45.7 clang-1001.0.37.7).
| Votes | 0 |
| Component/s | Compiler |
| Labels | Bug, StarterBug |
| Assignee | @theblixguy |
| Priority | Medium |
md5: 75741cacf781b9db21044152b379d272
Issue Description:
I’m not sure this is a bug or if this works as expected:
class Foo {
var name = "Default Name"
}
class Bar: Foo {
lazy var fullName: String = {
return super.name // error: 'super' cannot be used outside of class members
}()
}
Is there a good reason why super isn’t permitted here? Replacing super with self works fine, as I’d expect because the instance must be fully initialized when lazy properties are accessed.