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

Remove -enable-experimental-nested-generic-types flag #5600

Merged
merged 8 commits into from
Nov 18, 2016

Conversation

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Nov 2, 2016

rdar://problem/18869049
rdar://problem/17002096

@DougGregor
Copy link
Member

Fantastic!

@DougGregor
Copy link
Member

-1 ABI FIXMEs in the standard library is a good day

@slavapestov slavapestov force-pushed the remove-nested-generics-flag branch 2 times, most recently from 3c7bf25 to 0ee99c8 Compare November 5, 2016 08:16
@slavapestov
Copy link
Contributor Author

Almost works! Hitting a weird generic metadata cache bug now, interesting...

@slavapestov slavapestov force-pushed the remove-nested-generics-flag branch 3 times, most recently from aa64b6a to c71652b Compare November 6, 2016 07:24
@swift-ci
Copy link
Contributor

swift-ci commented Nov 6, 2016

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - c71652b1492b93142c98710d0848399897f7f39d
Test requested by - @slavapestov

@swift-ci
Copy link
Contributor

swift-ci commented Nov 6, 2016

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - c71652b1492b93142c98710d0848399897f7f39d
Test requested by - @slavapestov

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Nov 6, 2016

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - c71652b1492b93142c98710d0848399897f7f39d
Test requested by - @slavapestov

@swift-ci
Copy link
Contributor

swift-ci commented Nov 6, 2016

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - b4f55f71feae319a4ec20df4a944c5de3fbff075
Test requested by - @slavapestov

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Nov 6, 2016

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - b4f55f71feae319a4ec20df4a944c5de3fbff075
Test requested by - @slavapestov

@DougGregor
Copy link
Member

FYI, I dealt with the compiler_crashers failure separately. The objc_readClassPair failure is genuine, though.

…ata()

Previously we had two separate mechanisms to turn a metatype
into a string. The swift_typeName() function was used to print
the metatype in a human-readable fashion, whereas the
_swift_buildDemanglingForMetadata() was used when naming
generated generic Objective-C classes.

Unify them, since what swift_typeName() does is redundant;
instead of going directly from the metatype to a human-readable
string, we can get the mangling, and print that using the
demangler.

This fixes some issues with unnecessary parenthesis when
printing function types, and also allows Objective-C classes
to be instantiated with nested generic types as parameters.
…nd Dictionary

Resolves ABI FIXME swiftlang#34 and <rdar://problem/17002096>.
I don't know what the 'CHECK-NOT: extension [' line means, but now
we have a nested type inside Dictionary.
The swift-api-digester doesn't know about generic typealiases (yet?).
So it picks up some changes that are not actually source-breaking from
the previous patch.
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 7ba5617
Test requested by - @slavapestov

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 7ba5617
Test requested by - @slavapestov

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 914c0bcda563495414a599be5738ab0c08b582f2
Test requested by - @slavapestov

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov slavapestov changed the title [WIP] Remove -enable-experimental-nested-generic-types flag Remove -enable-experimental-nested-generic-types flag Nov 18, 2016
@slavapestov slavapestov merged commit 9202120 into swiftlang:master Nov 18, 2016

extension OuterNonGeneric.InnerGeneric {}
extension OuterGeneric.InnerNonGeneric {}
extension OuterGeneric.InnerGeneric {}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I constrain the outer generic parameter? (if it has a different name)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep

@DougGregor
Copy link
Member

w00t!

@airspeedswift
Copy link
Member

Looks like this means we can also tackle FIXME #23 (ClosedRangeIndexClosedRange.Index). Then again, we're going to refactor the ranges when we get the new generics features so maybe not worth it rn.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants