AST: Rip out "defaulted definitions" from NormalConformance, NFC

It appears we were only using this to see if an associated type was
derived or defaulted. This code didn't mesh well with the other stuff
I was doing for default implementations, so I'd rather rip it out and
just rely on calling 'isImplicit' to check for derived associated
types instead.

Note that there's a small change of behavior -- if an associated type
is derived for one conformance, and then used as a witness in another,
we were previously only marking it as defaulted in the first one,
but now it is marked as defaulted in both. I do not believe this has
any meaningful consequences.
This commit is contained in:
Slava Pestov
2016-03-16 16:43:38 -07:00
parent f440decd23
commit e1cea881ba
9 changed files with 50 additions and 110 deletions

View File

@@ -1135,10 +1135,8 @@ namespace decls_block {
BCVBR<5>, // value mapping count
BCVBR<5>, // type mapping count
BCVBR<5>, // inherited conformances count
BCVBR<5>, // defaulted definitions count
BCArray<DeclIDField>
// The array contains archetype-value pairs,
// then type declarations, then defaulted definitions.
// The array contains archetype-value pairs, then type declarations.
// Inherited conformances follow, then the substitution records for the
// associated types.
>;