code: protected function canBeCached(UrlRuleInterface $rule)
      {
          return
              // if rule does not provide info about create status, we cache it every time to prevent bugs like #13350
              // @see https://github.com/yiisoft/yii2/pull/13350#discussion_r114873476
              !method_exists($rule, 'getCreateUrlStatus') || ($status = $rule->getCreateUrlStatus()) === null
              || $status === UrlRule::CREATE_STATUS_SUCCESS
              || $status & UrlRule::CREATE_STATUS_PARAMS_MISMATCH;
      }
docs: Returns the value indicating whether result of [[createUrl()]] of rule should be cached in internal cache.
  
  @param UrlRuleInterface $rule
  @return bool `true` if result should be cached, `false` if not.
  @since 2.0.12
  @see getUrlFromCache()
  @see setRuleToCache()
  @see UrlRule::getCreateUrlStatus()