{"action":"created","issue":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/26310","repository_url":"https://api.github.com/repos/dart-lang/sdk","labels_url":"https://api.github.com/repos/dart-lang/sdk/issues/26310/labels{/name}","comments_url":"https://api.github.com/repos/dart-lang/sdk/issues/26310/comments","events_url":"https://api.github.com/repos/dart-lang/sdk/issues/26310/events","html_url":"https://github.com/dart-lang/sdk/issues/26310","id":149906742,"number":26310,"title":"Strong-mode should fill omitted type parameters with type bound instead of dynamic?","user":{"login":"ochafik","id":273860,"avatar_url":"https://avatars.githubusercontent.com/u/273860?v=3","gravatar_id":"","url":"https://api.github.com/users/ochafik","html_url":"https://github.com/ochafik","followers_url":"https://api.github.com/users/ochafik/followers","following_url":"https://api.github.com/users/ochafik/following{/other_user}","gists_url":"https://api.github.com/users/ochafik/gists{/gist_id}","starred_url":"https://api.github.com/users/ochafik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ochafik/subscriptions","organizations_url":"https://api.github.com/users/ochafik/orgs","repos_url":"https://api.github.com/users/ochafik/repos","events_url":"https://api.github.com/users/ochafik/events{/privacy}","received_events_url":"https://api.github.com/users/ochafik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dart-lang/sdk/labels/analyzer-strong-mode","name":"analyzer-strong-mode","color":"d4c5f9"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/area-analyzer","name":"area-analyzer","color":"c7def8"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/ddc-beta","name":"ddc-beta","color":"fbca04"},{"url":"https://api.github.com/repos/dart-lang/sdk/labels/P1%20high","name":"P1 high","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-04-20T22:41:50Z","updated_at":"2016-04-21T01:55:50Z","closed_at":null,"body":"Context: I found many usages of ```class Rectangle<T extends num>``` with the non-generic raw type `Rectangle`. Seems like it's treated by strong-mode as `Rectangle<dynamic>`, while it would seem it could / should be `Rectangle<num>`:\r\n\r\n```dart\r\nimport 'dart:math';\r\n\r\nfoo(Rectangle r) => bar(r);\r\n//                      ^\r\n// [error] Unsound implicit cast from Rectangle<dynamic> to Rectangle<num>\r\nbar(Rectangle<num> r) => null;\r\n```\r\n\r\n(tested with `1.16.0-dev.2.0`)"},"comment":{"url":"https://api.github.com/repos/dart-lang/sdk/issues/comments/212693041","html_url":"https://github.com/dart-lang/sdk/issues/26310#issuecomment-212693041","issue_url":"https://api.github.com/repos/dart-lang/sdk/issues/26310","id":212693041,"user":{"login":"ochafik","id":273860,"avatar_url":"https://avatars.githubusercontent.com/u/273860?v=3","gravatar_id":"","url":"https://api.github.com/users/ochafik","html_url":"https://github.com/ochafik","followers_url":"https://api.github.com/users/ochafik/followers","following_url":"https://api.github.com/users/ochafik/following{/other_user}","gists_url":"https://api.github.com/users/ochafik/gists{/gist_id}","starred_url":"https://api.github.com/users/ochafik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ochafik/subscriptions","organizations_url":"https://api.github.com/users/ochafik/orgs","repos_url":"https://api.github.com/users/ochafik/repos","events_url":"https://api.github.com/users/ochafik/events{/privacy}","received_events_url":"https://api.github.com/users/ochafik/received_events","type":"User","site_admin":false},"created_at":"2016-04-21T01:55:50Z","updated_at":"2016-04-21T01:55:50Z","body":"If I define my own local `Rectangle`, it works: could it be that it picks up an old `dart:math`?\r\n\r\n```dart\r\nclass Rectangle<T extends num> {}\r\n// OK\r\nfoo(Rectangle r) => bar(r);\r\nbar(Rectangle<num> r) => null;\r\n```\r\n"}}