5f5a698100
type itself gets instantiated. Until now, the signature was kept unchanged and the instantiation was reflected by the type arguments of the function type only. This delayed instantiation would complicate the implementation of generic functions. This cl actually removes type arguments for (non-typedef) function types. The function type is now fully represented by the signature. When the function type is instantiated, a new signature is allocated (instead of a new type argument vector) to hold instantiated result type and formal parameter types. The same applies in the case of typedef function types, however, the type arguments of the typedef are kept as before. This allows for better printing of typedef function types and for finalization of recursive type involving typedefs as type arguments. R=asiva@google.com Review-Url: https://codereview.chromium.org/2793033005 .