Skip to content

Define InterfaceTypeRequest #27764

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

Merged
merged 3 commits into from
Oct 18, 2019
Merged

Conversation

CodaFi
Copy link
Contributor

@CodaFi CodaFi commented Oct 17, 2019

Now that VarDecl's interface type computation is rationalized, the final piece was formalizing the ParamDecl case returning the null Type.

Define a request for the interface type. This is not the end of this story by a long shot. The pattern binding request needs to be divided into a checked initializer request and a checked pattern request. The naming pattern request needs to do a lot less work by just checking one or the other. A bunch of places in the compiler have ad-hoc circularity breaking code that also needs to be swept up under the evaluator. The decl validation machinery still needs to be expunged.

There's a lot to do, but we can at least celebrate the little things.

🎉 validateDecl is dead! 🎉

The moment you've all been waiting for...

Define InterfaceTypeRequest and use it to, well, compute the interface
type.  This naturally widens the few cycles that we pick up with the
request evaluator.

There is still a lot of work to get done here, mostly around scaling
back all of the ad-hoc circularity checks around the interface type
computation.  It would also be great to improve the circularity
diagnostics.
@CodaFi
Copy link
Contributor Author

CodaFi commented Oct 17, 2019

@swift-ci please test

@CodaFi
Copy link
Contributor Author

CodaFi commented Oct 17, 2019

@swift-ci please test source compatibility

@CodaFi
Copy link
Contributor Author

CodaFi commented Oct 18, 2019

⛵️

@CodaFi CodaFi merged commit 6942d36 into swiftlang:master Oct 18, 2019
@CodaFi CodaFi deleted the interface-type-request branch October 18, 2019 03:07
@compnerd
Copy link
Member

I believe that this has regressed the Windows build: asuhan@4fc20a4

?: is a non-portable GNU extension (see AST/Decl.cpp:2819)

compnerd added a commit to compnerd/apple-swift that referenced this pull request Oct 18, 2019
Avoid the use of the GNU extension for the collapsed ternary and use the
explicit expansion.  This should repair the Windows build.
@graydon
Copy link
Contributor

graydon commented Nov 4, 2019

Congratulations!

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.

3 participants