diff --git a/packages/flutter/lib/src/widgets/framework.dart b/packages/flutter/lib/src/widgets/framework.dart index aea764f482..b66741e74e 100644 --- a/packages/flutter/lib/src/widgets/framework.dart +++ b/packages/flutter/lib/src/widgets/framework.dart @@ -293,6 +293,10 @@ abstract class State { /// This is used to verify that State objects move through life in an orderly fashion. _StateLifecycle _debugLifecycleState = _StateLifecycle.created; + /// Verifies that the State that was created is one that expects to be created + /// for that particular Widget. + bool _debugTypesAreRight(widget) => widget is T; + /// Pointer to the owner Element object StatefulComponentElement _element; @@ -824,6 +828,7 @@ class StatelessComponentElement extends BuildableE class StatefulComponentElement extends BuildableElement { StatefulComponentElement(StatefulComponent widget) : _state = widget.createState(), super(widget) { + assert(_state._debugTypesAreRight(widget)); assert(_state._element == null); _state._element = this; assert(_builder == null);