{"action":"created","issue":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/6767","repository_url":"https://api.github.com/repos/ceylon/ceylon","labels_url":"https://api.github.com/repos/ceylon/ceylon/issues/6767/labels{/name}","comments_url":"https://api.github.com/repos/ceylon/ceylon/issues/6767/comments","events_url":"https://api.github.com/repos/ceylon/ceylon/issues/6767/events","html_url":"https://github.com/ceylon/ceylon/issues/6767","id":192092624,"number":6767,"title":"JS model loader doesn’t understand union type alias in ceylon.ast.core","user":{"login":"lucaswerkmeister","id":2346599,"avatar_url":"https://avatars.githubusercontent.com/u/2346599?v=3","gravatar_id":"","url":"https://api.github.com/users/lucaswerkmeister","html_url":"https://github.com/lucaswerkmeister","followers_url":"https://api.github.com/users/lucaswerkmeister/followers","following_url":"https://api.github.com/users/lucaswerkmeister/following{/other_user}","gists_url":"https://api.github.com/users/lucaswerkmeister/gists{/gist_id}","starred_url":"https://api.github.com/users/lucaswerkmeister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucaswerkmeister/subscriptions","organizations_url":"https://api.github.com/users/lucaswerkmeister/orgs","repos_url":"https://api.github.com/users/lucaswerkmeister/repos","events_url":"https://api.github.com/users/lucaswerkmeister/events{/privacy}","received_events_url":"https://api.github.com/users/lucaswerkmeister/received_events","type":"User","site_admin":false},"labels":[{"id":286511962,"url":"https://api.github.com/repos/ceylon/ceylon/labels/m-compiler-js","name":"m-compiler-js","color":"00aa00","default":false},{"id":286511988,"url":"https://api.github.com/repos/ceylon/ceylon/labels/prio-high","name":"prio-high","color":"fbca04","default":false},{"id":286511959,"url":"https://api.github.com/repos/ceylon/ceylon/labels/t-bug","name":"t-bug","color":"e10c02","default":false}],"state":"open","locked":false,"assignee":{"login":"chochos","id":17679,"avatar_url":"https://avatars.githubusercontent.com/u/17679?v=3","gravatar_id":"","url":"https://api.github.com/users/chochos","html_url":"https://github.com/chochos","followers_url":"https://api.github.com/users/chochos/followers","following_url":"https://api.github.com/users/chochos/following{/other_user}","gists_url":"https://api.github.com/users/chochos/gists{/gist_id}","starred_url":"https://api.github.com/users/chochos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chochos/subscriptions","organizations_url":"https://api.github.com/users/chochos/orgs","repos_url":"https://api.github.com/users/chochos/repos","events_url":"https://api.github.com/users/chochos/events{/privacy}","received_events_url":"https://api.github.com/users/chochos/received_events","type":"User","site_admin":false},"assignees":[{"login":"chochos","id":17679,"avatar_url":"https://avatars.githubusercontent.com/u/17679?v=3","gravatar_id":"","url":"https://api.github.com/users/chochos","html_url":"https://github.com/chochos","followers_url":"https://api.github.com/users/chochos/followers","following_url":"https://api.github.com/users/chochos/following{/other_user}","gists_url":"https://api.github.com/users/chochos/gists{/gist_id}","starred_url":"https://api.github.com/users/chochos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chochos/subscriptions","organizations_url":"https://api.github.com/users/chochos/orgs","repos_url":"https://api.github.com/users/chochos/repos","events_url":"https://api.github.com/users/chochos/events{/privacy}","received_events_url":"https://api.github.com/users/chochos/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/ceylon/ceylon/milestones/17","html_url":"https://github.com/ceylon/ceylon/milestones/1.3.2","labels_url":"https://api.github.com/repos/ceylon/ceylon/milestones/17/labels","id":2064406,"number":17,"title":"1.3.2","description":"","creator":{"login":"gavinking","id":579974,"avatar_url":"https://avatars.githubusercontent.com/u/579974?v=3","gravatar_id":"","url":"https://api.github.com/users/gavinking","html_url":"https://github.com/gavinking","followers_url":"https://api.github.com/users/gavinking/followers","following_url":"https://api.github.com/users/gavinking/following{/other_user}","gists_url":"https://api.github.com/users/gavinking/gists{/gist_id}","starred_url":"https://api.github.com/users/gavinking/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gavinking/subscriptions","organizations_url":"https://api.github.com/users/gavinking/orgs","repos_url":"https://api.github.com/users/gavinking/repos","events_url":"https://api.github.com/users/gavinking/events{/privacy}","received_events_url":"https://api.github.com/users/gavinking/received_events","type":"User","site_admin":false},"open_issues":102,"closed_issues":12,"state":"open","created_at":"2016-10-12T09:01:02Z","updated_at":"2016-11-29T17:21:35Z","due_on":"2016-11-30T00:00:00Z","closed_at":null},"comments":7,"created_at":"2016-11-28T19:15:24Z","updated_at":"2016-11-29T18:47:09Z","closed_at":null,"body":"```sh\r\nceylon compile-js ceylon.ast.samples ceylon.ast.core ceylon.ast.create && ceylon compile-js ceylon.ast.samples\r\n```\r\nRunning this in the `ceylon.ast` repository on the `version-1.3.1` branch, under the 1.3.1 distribution (e. g. from release or built from the `1.3.1` tag) produces 34 errors of the kind:\r\n\r\n> error: specified expression must be assignable to declared type of 'expression': 'Expression&AssigningExpression' ('Expression') is not assignable to 'AssigningExpression' ('unknown')\r\n> error: argument must be assignable to parameter 'operand' of 'NotOperation': 'EqualOperation' is not assignable to 'NegatingExpression' ('unknown')\r\n\r\nIt seems the model loader isn’t loading `ceylon.ast`’s precedence aliases (`*ingExpression`). @jvasileff reports that `ceylon compile-dart`, which also uses the JS model loader, has the same problem.\r\n\r\nThis blocks the `ceylon.ast` 1.3.1 release."},"comment":{"url":"https://api.github.com/repos/ceylon/ceylon/issues/comments/263660727","html_url":"https://github.com/ceylon/ceylon/issues/6767#issuecomment-263660727","issue_url":"https://api.github.com/repos/ceylon/ceylon/issues/6767","id":263660727,"user":{"login":"lucaswerkmeister","id":2346599,"avatar_url":"https://avatars.githubusercontent.com/u/2346599?v=3","gravatar_id":"","url":"https://api.github.com/users/lucaswerkmeister","html_url":"https://github.com/lucaswerkmeister","followers_url":"https://api.github.com/users/lucaswerkmeister/followers","following_url":"https://api.github.com/users/lucaswerkmeister/following{/other_user}","gists_url":"https://api.github.com/users/lucaswerkmeister/gists{/gist_id}","starred_url":"https://api.github.com/users/lucaswerkmeister/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucaswerkmeister/subscriptions","organizations_url":"https://api.github.com/users/lucaswerkmeister/orgs","repos_url":"https://api.github.com/users/lucaswerkmeister/repos","events_url":"https://api.github.com/users/lucaswerkmeister/events{/privacy}","received_events_url":"https://api.github.com/users/lucaswerkmeister/received_events","type":"User","site_admin":false},"created_at":"2016-11-29T18:47:09Z","updated_at":"2016-11-29T18:47:09Z","body":"Thanks for investigating this! I managed to boil it down to a shorter example:\r\n\r\n```ceylon\r\n// module tmp\r\nshared class UIdentifier() {\r\n    shared void transform(Transformer t) {}\r\n}\r\nshared class AndOperation(children) {\r\n    shared [ConjoiningExpression, NegatingExpression] children;\r\n}\r\nshared interface Transformer {\r\n    shared formal void transformUIdentifier(UIdentifier that);\r\n}\r\nshared alias ConjoiningExpression => AndOperation|UIdentifier;\r\nshared alias NegatingExpression => UIdentifier;\r\n\r\n// module tmp2\r\nimport tmp {\r\n    UIdentifier,\r\n    AndOperation\r\n}\r\nshared void run() {\r\n    value ui = UIdentifier();\r\n    value ao = AndOperation([ui, ui]);\r\n}\r\n```"}}
{"actor":{"display_login":"lucaswerkmeister"}}