Serialization: Preserve identity of opened generic environments

We used to create a new environment for each opened archetype, which is
incorrect when deserializing a nested type of another opened archetype.
This commit is contained in:
Slava Pestov
2022-08-11 23:44:18 -04:00
parent 7a970367fd
commit b36f37cc72
14 changed files with 165 additions and 51 deletions

View File

@@ -113,6 +113,7 @@ ModuleFile::ModuleFile(std::shared_ptr<const ModuleFileSharedCore> core)
allocateBuffer(Types, core->Types);
allocateBuffer(ClangTypes, core->ClangTypes);
allocateBuffer(GenericSignatures, core->GenericSignatures);
allocateBuffer(GenericEnvironments, core->GenericEnvironments);
allocateBuffer(SubstitutionMaps, core->SubstitutionMaps);
allocateBuffer(Identifiers, core->Identifiers);
}