Skip to content

[CSGen] Handle recursive use of variable declarations #63505

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 1 commit into from
Feb 9, 2023

Conversation

xedin
Copy link
Contributor

@xedin xedin commented Feb 7, 2023

It's possible for out-of-scope type variable to be the type of declaration
if such declaration is recursively referenced in the body of a closure located
in its initializer expression. In such cases type of the variable declaration
cannot be connected to the closure because its not known in advance
(determined by the initializer itself).

Resolves: #63455

@xedin
Copy link
Contributor Author

xedin commented Feb 7, 2023

@swift-ci please test

It's possible for out-of-scope type variable to be the type of
declaration if such declaration is recursively referenced in
the body of a closure located in its initializer expression.
In such cases type of the variable declaration cannot be connected
to the closure because its not known in advance (determined by the
initializer itself).

Resolves: swiftlang#63455
@xedin
Copy link
Contributor Author

xedin commented Feb 8, 2023

@swift-ci please test

@xedin
Copy link
Contributor Author

xedin commented Feb 8, 2023

@swift-ci please test macOS platform

@xedin xedin merged commit 9401926 into swiftlang:main Feb 9, 2023
xedin added a commit to xedin/swift that referenced this pull request Feb 10, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
xedin added a commit to xedin/swift that referenced this pull request Feb 10, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
ahoppen pushed a commit to ahoppen/swift that referenced this pull request Feb 10, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
xedin added a commit to xedin/swift that referenced this pull request Feb 11, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
xedin added a commit to xedin/swift that referenced this pull request Feb 11, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
xedin added a commit to xedin/swift that referenced this pull request Feb 12, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
xedin added a commit to xedin/swift that referenced this pull request Feb 13, 2023
Follow-up to swiftlang#63505

Since, when the type is not stated, a variable assumes the
type of its initializer that enables out-of-scope variables
to be nested inside of some other concrete type i.e. Optional.

Resolves: swiftlang#63455
(cherry picked from commit 8e82f1d)
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.

Assertion failed: (!bool(ActiveChoice)), function ~ConjunctionStep, file CSStep.h, line 967
2 participants