Currently, if you define `shouldComponentUpdate` on `React.PureComponent` nothing bad happens and it acts like `React.Component` https://jsfiddle.net/jekmdfva/

We should probably warn in dev since it defaults the point of `PureComponent`
!inst.defaultProps,
        'defaultProps was defined as an instance property on %s. Use a static ' +
          'property to define defaultProps instead.',
        this.getName() || 'a component',
      );
    }
    var initialState = inst.state;
    if (initialState === undefined) {
      inst.state = initialState = null;
    }
    invariant(
      typeof initialState === 'object' && !Array.isArray(initialState),
      '%s.state: must be set to an object or null',
      this.getName() || 'ReactCompositeComponent',
    );
    this._pendingStateQueue = null;
    this._pendingReplaceState = false;
    this._pendingForceUpdate = false;
    if (inst.componentWillMount) {
      if (__DEV__) {
        measureLifeCyclePerf(
          () => inst.componentWillMount(),
          this._debugID,
          'componentWillMount',
        );
      } else {
        inst.componentWillMount();
      }