Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-11493] Can't use property of self before initialization when using the && operator #53893

Closed
swift-ci opened this issue Sep 19, 2019 · 0 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior.

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-11493
Radar rdar://31099191
Original Reporter SamyAchour (JIRA User)
Type Bug
Status Resolved
Resolution Duplicate

Attachment: Download

Environment

Xcode 10.3 (10G8), Swift 5

Additional Detail from JIRA
Votes 0
Component/s
Labels Bug
Assignee None
Priority Medium

md5: 4e59893fa5a04453ab3a09f57052f10b

duplicates:

  • SR-944 Cannot use 'self' in RHS of && before all properties are initialized

Issue Description:

If I try to reference a property of self on the right side of an && operator before super.init, the compiler errors.

import Foundation


enum Test {
    case one
    case two
}


class A: NSObject {

    let property: B

    init(propertyParameter: B) {
        property = propertyParameter


        let _ = property.testPropertyTwo == .two // No error
        let _ = property.testPropertyTwo == .two && property.testPropertyOne == .one // Compiler error
        let _ = property.testPropertyOne == .one && property.testPropertyTwo == .two // Compiler error


        let one = property.testPropertyTwo == .one // No error
        let two = property.testPropertyTwo == .two // No error
        let _ = one && two // No error


        super.init()
    }

}


class B {
    let testPropertyOne = Test.one
    let testPropertyTwo = Test.two
}
@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior.
Projects
None yet
Development

No branches or pull requests

1 participant