# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file # for details. All rights reserved. Use of this source code is governed by a # BSD-style license that can be found in the LICENSE.md file. # Reproduce weirdness with abstract member-signatures and forwarding stubs from # https://github.com/flutter/flutter/issues/66122 type: newworld target: DDC trackWidgetCreation: true worlds: - entry: main.dart skipClassHierarchyTest: true sources: main.dart: | import 'package:flutter/framework.dart'; import 'after_layout.dart'; class _HotReloadIssueState extends State with AfterLayoutMixin { Widget build(BuildContext context) {} void afterFirstLayout(BuildContext context) {} } class HotReloadIssue extends StatefulWidget {} after_layout.dart: import 'package:flutter/framework.dart'; mixin AfterLayoutMixin on State {} flutter/lib/framework.dart: | mixin Diagnosticable { String toString() { return "foo"; } } abstract class State with Diagnosticable { T? _widget; } class State2 extends State {} class StatefulWidget {} class Widget {} class BuildContext {} final State state = new State2(); void foo() { state._widget = null; } .dart_tool/package_config.json: | { "configVersion": 2, "packages": [ { "name": "flutter", "rootUri": "../flutter", "packageUri": "lib/" } ] } expectedLibraryCount: 3 - entry: main.dart skipClassHierarchyTest: true worldType: updated invalidate: - main.dart expectInitializeFromDill: false expectedLibraryCount: 3