{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/28491","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/28491/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/28491/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/28491/events","html_url":"https://github.com/rust-lang/rust/pull/28491","id":107206453,"number":28491,"title":"Skip no-op adjustments in trans","user":{"login":"dotdash","id":230962,"avatar_url":"https://avatars.githubusercontent.com/u/230962?v=3","gravatar_id":"","url":"https://api.github.com/users/dotdash","html_url":"https://github.com/dotdash","followers_url":"https://api.github.com/users/dotdash/followers","following_url":"https://api.github.com/users/dotdash/following{/other_user}","gists_url":"https://api.github.com/users/dotdash/gists{/gist_id}","starred_url":"https://api.github.com/users/dotdash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotdash/subscriptions","organizations_url":"https://api.github.com/users/dotdash/orgs","repos_url":"https://api.github.com/users/dotdash/repos","events_url":"https://api.github.com/users/dotdash/events{/privacy}","received_events_url":"https://api.github.com/users/dotdash/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"nikomatsakis","id":155238,"avatar_url":"https://avatars.githubusercontent.com/u/155238?v=3","gravatar_id":"","url":"https://api.github.com/users/nikomatsakis","html_url":"https://github.com/nikomatsakis","followers_url":"https://api.github.com/users/nikomatsakis/followers","following_url":"https://api.github.com/users/nikomatsakis/following{/other_user}","gists_url":"https://api.github.com/users/nikomatsakis/gists{/gist_id}","starred_url":"https://api.github.com/users/nikomatsakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikomatsakis/subscriptions","organizations_url":"https://api.github.com/users/nikomatsakis/orgs","repos_url":"https://api.github.com/users/nikomatsakis/repos","events_url":"https://api.github.com/users/nikomatsakis/events{/privacy}","received_events_url":"https://api.github.com/users/nikomatsakis/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-09-18T13:52:37Z","updated_at":"2015-09-18T13:53:52Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust/pulls/28491","html_url":"https://github.com/rust-lang/rust/pull/28491","diff_url":"https://github.com/rust-lang/rust/pull/28491.diff","patch_url":"https://github.com/rust-lang/rust/pull/28491.patch"},"body":"That allows us to keep using trans_into() in case of adjustments that\r\nmay actually be ignored in trans because they are a plain deref/ref pair\r\nwith no overloaded deref or unsizing.\r\n\r\nUnoptimized(!) benchmarks from servo/servo#7638\r\n\r\nBefore\r\n```\r\ntest goser::bench_clone                          ... bench:      17,701 ns/iter (+/- 58) = 30 MB/s\r\ntest goser::bincode::bench_decoder               ... bench:      33,715 ns/iter (+/- 300) = 11 MB/s\r\ntest goser::bincode::bench_deserialize           ... bench:      36,804 ns/iter (+/- 329) = 9 MB/s\r\ntest goser::bincode::bench_encoder               ... bench:      34,695 ns/iter (+/- 149) = 11 MB/s\r\ntest goser::bincode::bench_populate              ... bench:      18,879 ns/iter (+/- 88)\r\ntest goser::bincode::bench_serialize             ... bench:      31,668 ns/iter (+/- 156) = 11 MB/s\r\ntest goser::capnp::bench_deserialize             ... bench:       2,049 ns/iter (+/- 87) = 218 MB/s\r\ntest goser::capnp::bench_deserialize_packed      ... bench:      10,707 ns/iter (+/- 258) = 31 MB/s\r\ntest goser::capnp::bench_populate                ... bench:         635 ns/iter (+/- 5)\r\ntest goser::capnp::bench_serialize               ... bench:      35,657 ns/iter (+/- 155) = 12 MB/s\r\ntest goser::capnp::bench_serialize_packed        ... bench:      37,881 ns/iter (+/- 146) = 8 MB/s\r\ntest goser::msgpack::bench_decoder               ... bench:      50,634 ns/iter (+/- 307) = 5 MB/s\r\ntest goser::msgpack::bench_encoder               ... bench:      25,738 ns/iter (+/- 90) = 11 MB/s\r\ntest goser::msgpack::bench_populate              ... bench:      18,900 ns/iter (+/- 138)\r\ntest goser::protobuf::bench_decoder              ... bench:       2,791 ns/iter (+/- 29) = 102 MB/s\r\ntest goser::protobuf::bench_encoder              ... bench:      75,414 ns/iter (+/- 358) = 3 MB/s\r\ntest goser::protobuf::bench_populate             ... bench:      19,248 ns/iter (+/- 92)\r\ntest goser::rustc_serialize_json::bench_decoder  ... bench:     109,999 ns/iter (+/- 797) = 5 MB/s\r\ntest goser::rustc_serialize_json::bench_encoder  ... bench:      58,777 ns/iter (+/- 418) = 10 MB/s\r\ntest goser::rustc_serialize_json::bench_populate ... bench:      18,887 ns/iter (+/- 76)\r\ntest goser::serde_json::bench_deserializer       ... bench:     104,803 ns/iter (+/- 770) = 5 MB/s\r\ntest goser::serde_json::bench_populate           ... bench:      18,890 ns/iter (+/- 69)\r\ntest goser::serde_json::bench_serializer         ... bench:      75,046 ns/iter (+/- 435) = 8 MB/s\r\n```\r\n\r\nAfter\r\n```\r\ntest goser::bench_clone                          ... bench:      16,052 ns/iter (+/- 188) = 34 MB/s\r\ntest goser::bincode::bench_decoder               ... bench:      31,194 ns/iter (+/- 941) = 12 MB/s\r\ntest goser::bincode::bench_deserialize           ... bench:      33,934 ns/iter (+/- 352) = 10 MB/s\r\ntest goser::bincode::bench_encoder               ... bench:      30,737 ns/iter (+/- 1,969) = 13 MB/s\r\ntest goser::bincode::bench_populate              ... bench:      17,234 ns/iter (+/- 176)\r\ntest goser::bincode::bench_serialize             ... bench:      28,269 ns/iter (+/- 452) = 12 MB/s\r\ntest goser::capnp::bench_deserialize             ... bench:       2,019 ns/iter (+/- 85) = 221 MB/s\r\ntest goser::capnp::bench_deserialize_packed      ... bench:      10,662 ns/iter (+/- 527) = 31 MB/s\r\ntest goser::capnp::bench_populate                ... bench:         607 ns/iter (+/- 2)\r\ntest goser::capnp::bench_serialize               ... bench:      30,488 ns/iter (+/- 219) = 14 MB/s\r\ntest goser::capnp::bench_serialize_packed        ... bench:      33,731 ns/iter (+/- 201) = 9 MB/s\r\ntest goser::msgpack::bench_decoder               ... bench:      46,921 ns/iter (+/- 461) = 6 MB/s\r\ntest goser::msgpack::bench_encoder               ... bench:      22,315 ns/iter (+/- 96) = 12 MB/s\r\ntest goser::msgpack::bench_populate              ... bench:      17,268 ns/iter (+/- 73)\r\ntest goser::protobuf::bench_decoder              ... bench:       2,658 ns/iter (+/- 44) = 107 MB/s\r\ntest goser::protobuf::bench_encoder              ... bench:      71,024 ns/iter (+/- 359) = 4 MB/s\r\ntest goser::protobuf::bench_populate             ... bench:      17,704 ns/iter (+/- 104)\r\ntest goser::rustc_serialize_json::bench_decoder  ... bench:     107,867 ns/iter (+/- 759) = 5 MB/s\r\ntest goser::rustc_serialize_json::bench_encoder  ... bench:      52,327 ns/iter (+/- 479) = 11 MB/s\r\ntest goser::rustc_serialize_json::bench_populate ... bench:      17,262 ns/iter (+/- 68)\r\ntest goser::serde_json::bench_deserializer       ... bench:      99,156 ns/iter (+/- 657) = 6 MB/s\r\ntest goser::serde_json::bench_populate           ... bench:      17,264 ns/iter (+/- 77)\r\ntest goser::serde_json::bench_serializer         ... bench:      66,135 ns/iter (+/- 392) = 9 MB/s\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/141457327","html_url":"https://github.com/rust-lang/rust/pull/28491#issuecomment-141457327","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/28491","id":141457327,"user":{"login":"dotdash","id":230962,"avatar_url":"https://avatars.githubusercontent.com/u/230962?v=3","gravatar_id":"","url":"https://api.github.com/users/dotdash","html_url":"https://github.com/dotdash","followers_url":"https://api.github.com/users/dotdash/followers","following_url":"https://api.github.com/users/dotdash/following{/other_user}","gists_url":"https://api.github.com/users/dotdash/gists{/gist_id}","starred_url":"https://api.github.com/users/dotdash/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotdash/subscriptions","organizations_url":"https://api.github.com/users/dotdash/orgs","repos_url":"https://api.github.com/users/dotdash/repos","events_url":"https://api.github.com/users/dotdash/events{/privacy}","received_events_url":"https://api.github.com/users/dotdash/received_events","type":"User","site_admin":false},"created_at":"2015-09-18T13:53:52Z","updated_at":"2015-09-18T13:53:52Z","body":"r? @nikomatsakis \r\n\r\nThat's for the adjustments not handled by #28428 "}}