eddfbb1776
This is required when comparing functions type objects with sub-canonicalized functions. Example: Function() g() => (() => 0) (opt-out) Function()? f() => null (opt-in) both canonicalize their return type as a step in canonicalizing the entire function. Omitting a wrapper around the canonicalized function type (the return value) would result in the runtime types of these functions being canonicalized to the same value. Change-Id: Icb1fd77458267e769bd4d4f54b71d0f81a323bd8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133340 Reviewed-by: Nicholas Shahan <nshahan@google.com> Reviewed-by: Sigmund Cherem <sigmund@google.com> Commit-Queue: Mark Zhou <markzipan@google.com>