Commits

Jordan Rose committed bfe8a27242e
[serialization] Don't try to cross-reference generic params of SIL functions. SIL functions use AST GenericParamTypeDecls, but they don't have a useful DeclContext, so they just use the AST module associated with the current SILModule. However, when it comes time to reserialize referenced functions with shared_external linkage (such as closures defined in fragile public functions), the serializer was trying to cross-reference those generic parameters rather than reserialize them, because they aren't part of the current source file. And because these decls aren't attached to a specific AST DeclContext, we can't properly cross-reference them---nor should we. This commit introduces a targeted case in the cross-reference logic to force re-serializing these declarations. In the long run we may want to reconsider using AST GenericParamLists for SILFunctions. rdar://problem/18673024 Swift SVN r22800