Commits

Slava Pestov committed 73b1bd8f4ec
Reflection: Add TypeRef::deriveSubstitutions() When deriving substitutions from closure contexts, we end up with a problem where we have an original type and a substituted type, and the original type is not necessarily a type parameter. We need to decompose the original and substituted types to derive the substitutions that produced the substitution. For example, deriveSubstitutions(Foo<T -> Int>, Foo<String -> Int>) will give us a substitution of T := Int.