SubstitutionList is going to be a more compact representation of
a SubstitutionMap, suitable for inline allocation inside another
object.
For now, it's just a typedef for ArrayRef<Substitution>.
We're eventually getting rid of general currying syntax so, rather
than investing in getting partial application of super_method working
with the existing curry thunk emission, create a specialized emitter
for the one case where we'll allow partial application: capturing the
implicit self parameter in expressions like `doFoo(super.foo)` or
`doFoo(self.foo)`.
NFC for current IRGen - SILGen doesn't lead to here yet.
rdar://problem/22749732
use a thin function type.
We still need thin-function-to-RawPointer conversions
for generic code, but that's fixable with some sort of
partial_apply_thin_recoverable instruction.
Swift SVN r24364
NFC for now, but I've also added the infrastructure to allow
"early emission", i.e. emission directly from the original
RValueSource, which can be useful either as an optimization
(e.g. for Builtin.initialize) or a requirement for particularly
hacky SIL intrinsics should we need them (and I'm thinking of
needing one).
Swift SVN r23953