{"action":"created","issue":{"url":"https://api.github.com/repos/opal/opal/issues/693","labels_url":"https://api.github.com/repos/opal/opal/issues/693/labels{/name}","comments_url":"https://api.github.com/repos/opal/opal/issues/693/comments","events_url":"https://api.github.com/repos/opal/opal/issues/693/events","html_url":"https://github.com/opal/opal/issues/693","id":56160840,"number":693,"title":"Class#=== is broken for bridged classes","user":{"login":"adambeynon","id":68938,"avatar_url":"https://avatars.githubusercontent.com/u/68938?v=3","gravatar_id":"","url":"https://api.github.com/users/adambeynon","html_url":"https://github.com/adambeynon","followers_url":"https://api.github.com/users/adambeynon/followers","following_url":"https://api.github.com/users/adambeynon/following{/other_user}","gists_url":"https://api.github.com/users/adambeynon/gists{/gist_id}","starred_url":"https://api.github.com/users/adambeynon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambeynon/subscriptions","organizations_url":"https://api.github.com/users/adambeynon/orgs","repos_url":"https://api.github.com/users/adambeynon/repos","events_url":"https://api.github.com/users/adambeynon/events{/privacy}","received_events_url":"https://api.github.com/users/adambeynon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/opal/opal/labels/corelib","name":"corelib","color":"207de5"}],"state":"open","locked":false,"assignee":{"login":"adambeynon","id":68938,"avatar_url":"https://avatars.githubusercontent.com/u/68938?v=3","gravatar_id":"","url":"https://api.github.com/users/adambeynon","html_url":"https://github.com/adambeynon","followers_url":"https://api.github.com/users/adambeynon/followers","following_url":"https://api.github.com/users/adambeynon/following{/other_user}","gists_url":"https://api.github.com/users/adambeynon/gists{/gist_id}","starred_url":"https://api.github.com/users/adambeynon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambeynon/subscriptions","organizations_url":"https://api.github.com/users/adambeynon/orgs","repos_url":"https://api.github.com/users/adambeynon/repos","events_url":"https://api.github.com/users/adambeynon/events{/privacy}","received_events_url":"https://api.github.com/users/adambeynon/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-02-01T11:37:23Z","updated_at":"2015-02-02T20:01:36Z","closed_at":null,"body":"This works:\r\n\r\n```ruby\r\nObject === Object #=> true\r\n```\r\n\r\nBut this does not:\r\n\r\n```ruby\r\nArray === Array #=> false\r\n```\r\n\r\n:wq"},"comment":{"url":"https://api.github.com/repos/opal/opal/issues/comments/72526641","html_url":"https://github.com/opal/opal/issues/693#issuecomment-72526641","issue_url":"https://api.github.com/repos/opal/opal/issues/693","id":72526641,"user":{"login":"Ajedi32","id":1876931,"avatar_url":"https://avatars.githubusercontent.com/u/1876931?v=3","gravatar_id":"","url":"https://api.github.com/users/Ajedi32","html_url":"https://github.com/Ajedi32","followers_url":"https://api.github.com/users/Ajedi32/followers","following_url":"https://api.github.com/users/Ajedi32/following{/other_user}","gists_url":"https://api.github.com/users/Ajedi32/gists{/gist_id}","starred_url":"https://api.github.com/users/Ajedi32/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ajedi32/subscriptions","organizations_url":"https://api.github.com/users/Ajedi32/orgs","repos_url":"https://api.github.com/users/Ajedi32/repos","events_url":"https://api.github.com/users/Ajedi32/events{/privacy}","received_events_url":"https://api.github.com/users/Ajedi32/received_events","type":"User","site_admin":false},"created_at":"2015-02-02T20:01:36Z","updated_at":"2015-02-02T20:01:36Z","body":"This occurs in MRI too. It's not a bug, it's just the way the case equality operator works for classes and modules:\r\n\r\nFrom [the docs for `Module#===`](http://www.ruby-doc.org/core/Module.html#method-i-3D-3D-3D):\r\n\r\n> # mod === obj → true or false\r\n>\r\n> Case Equality—Returns true if obj is an instance of mod or one of mod’s descendants. Of limited use for modules, but can be used in case statements to classify objects by class.\r\n\r\nSo because `Object.class.is_a? Object #=> true`, but `Array.class.is_a? Array #=> false`, `Object === Object` will return true, but `Array === Array` will return false."}}