**Do you want to request a *feature* or report a *bug*?**
bug

**What is the current behavior?**
In normal rendering, you can memoize a class-based component: https://jsfiddle.net/586ea3cx/

With the shallow renderer, it seems like you can't: https://jsfiddle.net/odj217Lv/1/

This might be blocking https://github.com/airbnb/enzyme/pull/1914, in which tests are failing with `Cannot call a class as a function`. (it's tough to repro stuff with the shallow renderer)
}
        } finally {
          ReactCurrentDispatcher.current = prevDispatcher;
        }
        this._finishHooks(element, context);
      }
    }
    this._rendering = false;
    this._updater._invokeCallbacks();
    return this.getRenderOutput();
  }
  unmount() {
    if (this._instance) {
      if (typeof this._instance.componentWillUnmount === 'function') {
        this._instance.componentWillUnmount();
      }
    }
    this._firstWorkInProgressHook = null;
    this._previousComponentIdentity = null;
    this._context = null;
    this._element = null;
    this._newState = null;
    this._rendered = null;
    this._instance = null;
  }
  _mountClassComponent(element: ReactElement, context: null | Object) {
    this._instance.context = context;
    this._instance.props = element.props;
    this._instance.state = this._instance.state || null;
    this._instance.updater = this._updater;