{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/21846","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/21846/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/21846/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/21846/events","html_url":"https://github.com/rust-lang/rust/pull/21846","id":56179340,"number":21846,"title":"Revert \"remove Copy impls from remaining iterators\"","user":{"login":"tbu-","id":6666593,"avatar_url":"https://avatars.githubusercontent.com/u/6666593?v=3","gravatar_id":"","url":"https://api.github.com/users/tbu-","html_url":"https://github.com/tbu-","followers_url":"https://api.github.com/users/tbu-/followers","following_url":"https://api.github.com/users/tbu-/following{/other_user}","gists_url":"https://api.github.com/users/tbu-/gists{/gist_id}","starred_url":"https://api.github.com/users/tbu-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbu-/subscriptions","organizations_url":"https://api.github.com/users/tbu-/orgs","repos_url":"https://api.github.com/users/tbu-/repos","events_url":"https://api.github.com/users/tbu-/events{/privacy}","received_events_url":"https://api.github.com/users/tbu-/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"alexcrichton","id":64996,"avatar_url":"https://avatars.githubusercontent.com/u/64996?v=3","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"milestone":null,"comments":11,"created_at":"2015-02-01T21:36:10Z","updated_at":"2015-02-07T16:25:26Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/21846","html_url":"https://github.com/rust-lang/rust/pull/21846","diff_url":"https://github.com/rust-lang/rust/pull/21846.diff","patch_url":"https://github.com/rust-lang/rust/pull/21846.patch"},"body":"This reverts commit c3841b9c9f35f4e7fed9894558cbe1f068a3e01a.\r\n\r\nThe commit made it impossible to copy the pretty fundamental data type `Range` and `RangeFrom`, which e.g. means that they can't be used in otherwise copyable structures anymore (or `Cell`s for that matter), where the reason for removal was that it can *also be used as an iterator*.\r\n\r\nCC @japaric\r\n#21809"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/73370866","html_url":"https://github.com/rust-lang/rust/pull/21846#issuecomment-73370866","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/21846","id":73370866,"user":{"login":"tbu-","id":6666593,"avatar_url":"https://avatars.githubusercontent.com/u/6666593?v=3","gravatar_id":"","url":"https://api.github.com/users/tbu-","html_url":"https://github.com/tbu-","followers_url":"https://api.github.com/users/tbu-/followers","following_url":"https://api.github.com/users/tbu-/following{/other_user}","gists_url":"https://api.github.com/users/tbu-/gists{/gist_id}","starred_url":"https://api.github.com/users/tbu-/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbu-/subscriptions","organizations_url":"https://api.github.com/users/tbu-/orgs","repos_url":"https://api.github.com/users/tbu-/repos","events_url":"https://api.github.com/users/tbu-/events{/privacy}","received_events_url":"https://api.github.com/users/tbu-/received_events","type":"User","site_admin":false},"created_at":"2015-02-07T16:25:26Z","updated_at":"2015-02-07T16:25:26Z","body":"@japaric It may indeed be the problem that the two things are conflated – not implementing Copy locks out compound data types from implementing Copy themselves.\r\n\r\nThe core-devs might have missed that they were making `Range` non-`Copy`-able by that.\r\n\r\nI'm not sure if you're mocking me with your line-by-line reply, but what I wanted to say with the different options is that none of them are suitable: If I make the fields public, the sugar isn't there, if I use a constructor it can't be constructed statically, if I use setters and getters I always need complete ownership of the struct before I can set a single member."}}