anchor.diff:      if (shouldNotify) {
         try {
           assert(() {
  -          _canSelect = false;
  +          _debugCanSelect = false;
             return true;
           }());
           dependent.didChangeDependencies();
         } finally {
           assert(() {
  -          _canSelect = true;
  +          _debugCanSelect = true;
             return true;
           }());
         }
  
positive.code:   ///
    /// It is fine to call `select` multiple times.
    R select<T, R>(R selector(T value)) {
      assert(_canSelect, 'Cannot call `select` inside `didChangeDependencies');
      final inheritedElement = Provider._inheritedElementOf<T>(this);
      try {
        assert(() {
  
negative.code: 
  bool _didWatchFrameId = false;
  int _frameId = 0;
  bool _debugCanSelect = true;
  
  mixin _InheritedProviderScopeMixin<T> on InheritedElement implements InheritedContext<T> {
    bool _shouldNotifyDependents = false;
  