Skip to content

Sema: Disjunction pruning improvements#87220

Open
slavapestov wants to merge 12 commits intoswiftlang:mainfrom
slavapestov:refactor-disjunction-pruning-transitive-conformance
Open

Sema: Disjunction pruning improvements#87220
slavapestov wants to merge 12 commits intoswiftlang:mainfrom
slavapestov:refactor-disjunction-pruning-transitive-conformance

Conversation

@slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Feb 13, 2026

This is based on top of #87193.

Implement more precise checks for various exotic conversions, such as lvalue and inout conversions. Also, redo the "transitive conformance" check in a more principled way, modeled after simplifyTransitivelyConformsTo(). I was originally planning on then refactoring simplifyTransitivelyConformsTo() to use the new utility method, but I don't see any tests in the suite that fail with it disabled, so to minimize risk further I'm mostly only touching code paths that run when disjunction pruning is on.

Fixes rdar://50025491.

@slavapestov slavapestov force-pushed the refactor-disjunction-pruning-transitive-conformance branch from 5c5f80d to dc634f4 Compare February 14, 2026 14:43
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test Linux

1 similar comment
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test Linux

@slavapestov
Copy link
Contributor Author

@swift-ci Please test Windows

@hnrklssn
Copy link
Member

swiftlang/swift-llbuild#1023
please smoke test linux

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.

2 participants