{"action":"created","issue":{"url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/446","labels_url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/446/labels{/name}","comments_url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/446/comments","events_url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/446/events","html_url":"https://github.com/hhvm/hack-hhvm-docs/issues/446","id":52250705,"number":446,"title":"Bug in Pair<Tv1, Tv2>","user":{"login":"RexJaeschke","id":6708936,"avatar_url":"https://avatars.githubusercontent.com/u/6708936?v=3","gravatar_id":"","url":"https://api.github.com/users/RexJaeschke","html_url":"https://github.com/RexJaeschke","followers_url":"https://api.github.com/users/RexJaeschke/followers","following_url":"https://api.github.com/users/RexJaeschke/following{/other_user}","gists_url":"https://api.github.com/users/RexJaeschke/gists{/gist_id}","starred_url":"https://api.github.com/users/RexJaeschke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RexJaeschke/subscriptions","organizations_url":"https://api.github.com/users/RexJaeschke/orgs","repos_url":"https://api.github.com/users/RexJaeschke/repos","events_url":"https://api.github.com/users/RexJaeschke/events{/privacy}","received_events_url":"https://api.github.com/users/RexJaeschke/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2014-12-17T15:12:31Z","updated_at":"2015-04-22T21:41:07Z","closed_at":null,"body":"As defined, the class has two generic type parameters, Tv1 and Tv2. However, these names are NEVER used within the class (which isn't required). However, the name Tv IS used in 4 of the methods, even though that name is NOT a generic type parameter. So all the Tvs have to be replaced with either Tv1, Tv2, or something.\r\n\r\nThis problem occurs both within the class summary and in each of the detailed method descriptions."},"comment":{"url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/comments/95346280","html_url":"https://github.com/hhvm/hack-hhvm-docs/issues/446#issuecomment-95346280","issue_url":"https://api.github.com/repos/hhvm/hack-hhvm-docs/issues/446","id":95346280,"user":{"login":"jwatzman","id":575697,"avatar_url":"https://avatars.githubusercontent.com/u/575697?v=3","gravatar_id":"","url":"https://api.github.com/users/jwatzman","html_url":"https://github.com/jwatzman","followers_url":"https://api.github.com/users/jwatzman/followers","following_url":"https://api.github.com/users/jwatzman/following{/other_user}","gists_url":"https://api.github.com/users/jwatzman/gists{/gist_id}","starred_url":"https://api.github.com/users/jwatzman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwatzman/subscriptions","organizations_url":"https://api.github.com/users/jwatzman/orgs","repos_url":"https://api.github.com/users/jwatzman/repos","events_url":"https://api.github.com/users/jwatzman/events{/privacy}","received_events_url":"https://api.github.com/users/jwatzman/received_events","type":"User","site_admin":false},"created_at":"2015-04-22T21:41:07Z","updated_at":"2015-04-22T21:41:07Z","body":"Tuples do have type information? This is a type error:\r\n\r\n```hh\r\n<?hh\r\nfunction f(): (int, int) {\r\n  return tuple(1, 'hi');\r\n}\r\n```\r\n\r\nAnd they're better than `Pair` since they generalize up to as many elements as you want, not just 2 :)"}}