[AST] Use SubstitutionMap, not SubstitutionList, in SILBoxType.

Eliminate the last place in the AST proper that stores
SubstitutionLists rather than SubstitutionMaps. Randomly fixes a
crasher, too.
This commit is contained in:
Doug Gregor
2018-05-02 11:48:57 -07:00
parent 3e2bed119b
commit bc5bbe8b64
19 changed files with 114 additions and 215 deletions

View File

@@ -55,7 +55,7 @@ const uint16_t VERSION_MAJOR = 0;
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
/// Don't worry about adhering to the 80-column limit for this line.
const uint16_t VERSION_MINOR = 413; // Last change: specialized conformance
const uint16_t VERSION_MINOR = 414; // Last change: SIL box type substitutions
using DeclIDField = BCFixed<31>;
@@ -800,8 +800,8 @@ namespace decls_block {
using SILBoxTypeLayout = BCRecordLayout<
SIL_BOX_TYPE,
SILLayoutIDField // layout
// trailing substitutions
SILLayoutIDField, // layout
SubstitutionMapIDField // substitutions
>;
template <unsigned Code>