The issue is TypeChecker.h
lives in lib/Sema
instead of include/swift/Sema
, so it can't be included/called from SIL.
Could we please move TypeChecker.h
to include/swift/Sema
? That directory is currently mostly empty for some reason, maybe it's intentional for separation of concerns.
Thanks for the clarification about lookupConformance
and conformsToProtocol
!
I can't remember specific unresolved issues with ModuleDecl::lookupConformance
in SIL but I'll make a note if I come across any. (You previously helped with a SubstitutionMap
question - thanks again.)
Type-checking @differentiable
attributes where
clauses (looking up Differentiable
protocol conformances using the right APIs and arguments) has been a longstanding source of issues though. I posted a separate question about @differentiable
attribute and cc'd you.