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

Always desugar the base type of an extension when serializing. #6336

Merged

Commits on Dec 19, 2016

  1. Always desugar the base type of an extension when serializing.

    This "fixes" two issues:
    
    - The name of a non-public typealias would leak into the public
      interface if the extension had any public members.
    
    - A common pattern of defining a platform-specific typealias for an
      imported class and then extending that type would lead to
      circularity when trying to deserialize the typealias. We /shouldn't/
      be loading the extension at that point, but fixing that would be
      much harder.
    
    The "right" answer is to (a) check that the typealias is public if the
    extension has any public members, and (b) somehow ensure there is no
    circularity issue (either by not importing the extension as a result
    of importing the typealias, or by the extension being able to set its
    sugared base type later).
    
    rdar://problem/29694978
    jrose-apple committed Dec 19, 2016
    Configuration menu
    Copy the full SHA
    7c633f7 View commit details
    Browse the repository at this point in the history