https://jsfiddle.net/3apqnhmw/

```jsx
class Foo extends React.Component {
  render() {
     return <div>Foo</div>
  }
}

class App extends React.Component {
  render() {
    return Foo
  }
}
```

When `App` returns `Foo` instead of `<Foo />` accidentally, Fiber does not catch this.
log.push('outer componentDidUpdate');
      }
      componentWillUnmount() {
        log.push('outer componentWillUnmount');
      }
    }
    
    var el = document.createElement('div');
    log.push('start mount');
    ReactDOM.render(<Outer />, el);
    log.push('start update');
    ReactDOM.render(<Outer />, el);
    log.push('start unmount');
    ReactDOM.unmountComponentAtNode(el);
    
    expect(log).toEqual([
      'start mount',
      'inner 1 render',
      'inner 2 render',
      'inner 1 componentDidMount',
      'ref 1 got instance 1',
      'inner 2 componentDidMount',
      'ref 2 got instance 2',
      'outer componentDidMount',
      'start update',
      
      ...(ReactDOMFeatureFlags.useFiber
        ? [