{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/27750","repository_url":"https://api.github.com/repos/dart-lang/sdk","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/27750/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/27750/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/27750/events","html_url":"https://github.com/dart-lang/sdk/issues/27750","id":187142722,"number":27750,"title":"Not seemingly possible to tell the system/analyzer \"subclasses must be immutable\"","user":{"login":"sethladd","id":5479,"avatar_url":"https://avatars0.githubusercontent.com/u/5479?v=3","gravatar_id":"","url":"https://api.github.com/users/sethladd","html_url":"https://github.com/sethladd","followers_url":"https://api.github.com/users/sethladd/followers","following_url":"https://api.github.com/users/sethladd/following{/other_user}","gists_url":"https://api.github.com/users/sethladd/gists{/gist_id}","starred_url":"https://api.github.com/users/sethladd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethladd/subscriptions","organizations_url":"https://api.github.com/users/sethladd/orgs","repos_url":"https://api.github.com/users/sethladd/repos","events_url":"https://api.github.com/users/sethladd/events{/privacy}","received_events_url":"https://api.github.com/users/sethladd/received_events","type":"User","site_admin":false},"labels":[{"id":219928307,"url":"https://api.github.com/repos/dart-lang/sdk/labels/analyzer-linter","name":"analyzer-linter","color":"d4c5f9","default":false},{"id":219928186,"url":"https://api.github.com/repos/dart-lang/sdk/labels/area-analyzer","name":"area-analyzer","color":"c7def8","default":false},{"id":265663677,"url":"https://api.github.com/repos/dart-lang/sdk/labels/Customer-Flutter","name":"Customer-Flutter","color":"006b75","default":false},{"id":334171875,"url":"https://api.github.com/repos/dart-lang/sdk/labels/P2%20medium","name":"P2 medium","color":"fbca04","default":false},{"id":334529267,"url":"https://api.github.com/repos/dart-lang/sdk/labels/Type:%20enhancement","name":"Type: enhancement","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-11-03T17:49:47Z","updated_at":"2017-03-23T20:14:37Z","closed_at":null,"body":"Flutter widgets should be immutable, for both Stateless and Stateful widgets. We don't seem to have a way to tell the system/analyzer that \"all subclasses of StatelessWidget and StatefulWidget should be immutable. Please complain if they aren't.\"\r\n\r\nStrawman:\r\n\r\n* `@immutable` annotation for class hierarchies that must be immutable\r\n* lint/hint to warn/complain if a non-final field was added to a subclass whose parent is marked with @immutable\r\n\r\nThanks!"},"comment":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/comments/288846393","html_url":"https://github.com/dart-lang/sdk/issues/27750#issuecomment-288846393","issue_url":"https://api.github.com/repos/dart-lang/sdk/issues/27750","id":288846393,"user":{"login":"sethladd","id":5479,"avatar_url":"https://avatars0.githubusercontent.com/u/5479?v=3","gravatar_id":"","url":"https://api.github.com/users/sethladd","html_url":"https://github.com/sethladd","followers_url":"https://api.github.com/users/sethladd/followers","following_url":"https://api.github.com/users/sethladd/following{/other_user}","gists_url":"https://api.github.com/users/sethladd/gists{/gist_id}","starred_url":"https://api.github.com/users/sethladd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sethladd/subscriptions","organizations_url":"https://api.github.com/users/sethladd/orgs","repos_url":"https://api.github.com/users/sethladd/repos","events_url":"https://api.github.com/users/sethladd/events{/privacy}","received_events_url":"https://api.github.com/users/sethladd/received_events","type":"User","site_admin":false},"created_at":"2017-03-23T20:14:37Z","updated_at":"2017-03-23T20:14:37Z","body":"Hi! Any luck on making the analyzer report if something marked with @immutable isn't actually immutable? We'd like to start using this in examples and our code. Thanks!"}}
{"actor":{"display_login":"sethladd"}}