When I rerender a component with "defaultChecked" or "defaultValue" react fails to update the "value" and "checked" attribute accordingly.

Before you say "use a controlled input" I would argue that this is a bug as it basically disallows uncontrolled forms with "reset" buttons. (It will always reset to whatever the initial default value was).

return <input>moo</input>;
        },
      });
      var container = document.createElement('div');
      expect(function() {
        ReactDOM.render(<X />, container);
      }).toThrow(
        'input is a void element tag and must not have `children` ' +
        'or use `props.dangerouslySetInnerHTML`. Check the render method of X.'
      );
    });
    it('should support custom elements which extend native elements', function() {
      if (ReactDOMFeatureFlags.useCreateElement) {
        var container = document.createElement('div');
        spyOn(document, 'createElement').andCallThrough();
        ReactDOM.render(<div is="custom-div" />, container);
        expect(document.createElement).toHaveBeenCalledWith('div', 'custom-div');
      } else {
        expect(ReactDOMServer.renderToString(<div is="custom-div" />)).toContain('is="custom-div"');
      }
    });
  });
  describe('updateComponent', function() {
    var container;
    beforeEach(function() {
      container = document.createElement('div');
    });
    it('should warn against children for void elements', function() {
      ReactDOM.render(<input />, container);
      expect(function() {