Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
[AST] Compute conditional requirements in a conformance.
This allows determining which requirements make a conformance conditional; as in, which requirements aren't known as part of the type itself. Additionally, use this to assert that a few builtin protocols aren't conditionally-conformed-to, something we won't support for now.
- Loading branch information
Showing
with
203 additions
and 4 deletions.
- +6 −0 include/swift/AST/GenericSignature.h
- +37 −0 include/swift/AST/ProtocolConformance.h
- +5 −0 include/swift/AST/ProtocolConformanceRef.h
- +57 −0 lib/AST/GenericSignature.cpp
- +71 −1 lib/AST/ProtocolConformance.cpp
- +3 −0 lib/Sema/CSApply.cpp
- +7 −1 lib/Sema/TypeCheckDecl.cpp
- +9 −0 lib/Sema/TypeCheckProtocol.cpp
- +8 −2 lib/Sema/TypeCheckStmt.cpp