{"action":"created","issue":{"url":"https://api.github.com/repos/NLeSC/Constellation/issues/8","repository_url":"https://api.github.com/repos/NLeSC/Constellation","labels_url":"https://api.github.com/repos/NLeSC/Constellation/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/NLeSC/Constellation/issues/8/comments","events_url":"https://api.github.com/repos/NLeSC/Constellation/issues/8/events","html_url":"https://github.com/NLeSC/Constellation/issues/8","id":195915998,"number":8,"title":"Should an OrActivityContext be a set, bag, or list ? A.k.a. is equals correct?","user":{"login":"jmaassen","id":1705533,"avatar_url":"https://avatars.githubusercontent.com/u/1705533?v=3","gravatar_id":"","url":"https://api.github.com/users/jmaassen","html_url":"https://github.com/jmaassen","followers_url":"https://api.github.com/users/jmaassen/followers","following_url":"https://api.github.com/users/jmaassen/following{/other_user}","gists_url":"https://api.github.com/users/jmaassen/gists{/gist_id}","starred_url":"https://api.github.com/users/jmaassen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmaassen/subscriptions","organizations_url":"https://api.github.com/users/jmaassen/orgs","repos_url":"https://api.github.com/users/jmaassen/repos","events_url":"https://api.github.com/users/jmaassen/events{/privacy}","received_events_url":"https://api.github.com/users/jmaassen/received_events","type":"User","site_admin":false},"labels":[{"id":291547490,"url":"https://api.github.com/repos/NLeSC/Constellation/labels/bug","name":"bug","color":"fc2929","default":true},{"id":291547495,"url":"https://api.github.com/repos/NLeSC/Constellation/labels/question","name":"question","color":"cc317c","default":true}],"state":"closed","locked":false,"assignee":{"login":"jmaassen","id":1705533,"avatar_url":"https://avatars.githubusercontent.com/u/1705533?v=3","gravatar_id":"","url":"https://api.github.com/users/jmaassen","html_url":"https://github.com/jmaassen","followers_url":"https://api.github.com/users/jmaassen/followers","following_url":"https://api.github.com/users/jmaassen/following{/other_user}","gists_url":"https://api.github.com/users/jmaassen/gists{/gist_id}","starred_url":"https://api.github.com/users/jmaassen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmaassen/subscriptions","organizations_url":"https://api.github.com/users/jmaassen/orgs","repos_url":"https://api.github.com/users/jmaassen/repos","events_url":"https://api.github.com/users/jmaassen/events{/privacy}","received_events_url":"https://api.github.com/users/jmaassen/received_events","type":"User","site_admin":false},"assignees":[{"login":"jmaassen","id":1705533,"avatar_url":"https://avatars.githubusercontent.com/u/1705533?v=3","gravatar_id":"","url":"https://api.github.com/users/jmaassen","html_url":"https://github.com/jmaassen","followers_url":"https://api.github.com/users/jmaassen/followers","following_url":"https://api.github.com/users/jmaassen/following{/other_user}","gists_url":"https://api.github.com/users/jmaassen/gists{/gist_id}","starred_url":"https://api.github.com/users/jmaassen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmaassen/subscriptions","organizations_url":"https://api.github.com/users/jmaassen/orgs","repos_url":"https://api.github.com/users/jmaassen/repos","events_url":"https://api.github.com/users/jmaassen/events{/privacy}","received_events_url":"https://api.github.com/users/jmaassen/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-12-15T21:07:00Z","updated_at":"2016-12-16T10:56:23Z","closed_at":"2016-12-16T10:56:23Z","body":"In the current implementation, the `OrActivityContext` behaves either like a bag or a list, depending on the value of the `ordered` parameter of the constructor. If `ordered` is `true` the order matters and the context is a list, if it is `false` it does not matter and the order is a bag. \r\n\r\nThe implementation of `equals` however seems to test for set equality in the worst case (slow path) implementation, but behaves differently in the fast path implementation. This is hard to trigger in a test, as several fast paths guarantee that this slow path is almost never reached.\r\n \r\nOne issue is the comparison in the occurrence of doubles values. In other words:\r\n\r\n     (A, B) == (A, B, B) ?\r\n\r\nThe current implementation says no since their length is different. Are these the semantics we want ? \r\n\r\nSimilar problems occur with comparing ordered and not ordered, or does: \r\n\r\n   (B, A)[with order] == (A, B)[without order]\r\n\r\nAgain, the fast path in equals says no (by comparing their hash codes), the slow path says yes by testing set equality. Again, are these the semantics we want ?\r\n\r\n\r\n\r\n "},"comment":{"url":"https://api.github.com/repos/NLeSC/Constellation/issues/comments/267569366","html_url":"https://github.com/NLeSC/Constellation/issues/8#issuecomment-267569366","issue_url":"https://api.github.com/repos/NLeSC/Constellation/issues/8","id":267569366,"user":{"login":"jmaassen","id":1705533,"avatar_url":"https://avatars.githubusercontent.com/u/1705533?v=3","gravatar_id":"","url":"https://api.github.com/users/jmaassen","html_url":"https://github.com/jmaassen","followers_url":"https://api.github.com/users/jmaassen/followers","following_url":"https://api.github.com/users/jmaassen/following{/other_user}","gists_url":"https://api.github.com/users/jmaassen/gists{/gist_id}","starred_url":"https://api.github.com/users/jmaassen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmaassen/subscriptions","organizations_url":"https://api.github.com/users/jmaassen/orgs","repos_url":"https://api.github.com/users/jmaassen/repos","events_url":"https://api.github.com/users/jmaassen/events{/privacy}","received_events_url":"https://api.github.com/users/jmaassen/received_events","type":"User","site_admin":false},"created_at":"2016-12-16T10:56:23Z","updated_at":"2016-12-16T10:56:23Z","body":"Fixed in 55b1445228cc9c66d649d0cc5e1335247a653d1e"}}
{"actor":{"display_login":"jmaassen"}}