{"push_id":805003424,"size":23,"distinct_size":23,"ref":"refs/heads/deduplicate-errors","head":"7a3d6e70f63a6bad7ae8ac7a431eb9edd902cb5f","before":"038888a3b8309e6bef9de24374ffdf53abda825a","commits":[{"sha":"85f48d300a1161338e14b9579007b003c48dc4ba","author":{"email":"76b1832478b510fa51d4b2ef52dfd59ca0400db1@amitlevy.com","name":"Amit Aryeh Levy"},"message":"Make FixedSizeArray an unsafe trait","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/85f48d300a1161338e14b9579007b003c48dc4ba"},{"sha":"e9946f99b97fa1efda39b657448aae0238b66220","author":{"email":"06a7813f879e3069b8b80d175ff4f9d3508d9379@gmail.com","name":"Andrew Paseltiner"},"message":"Override `clone_from` for `{BinaryHeap, String}`\n\nCC #28481","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/e9946f99b97fa1efda39b657448aae0238b66220"},{"sha":"b30d8969e86fa2c9dd3b8e2e28ddda2202331f0f","author":{"email":"76b1832478b510fa51d4b2ef52dfd59ca0400db1@amitlevy.com","name":"Amit Aryeh Levy"},"message":"Explain in comment why FixedSizeArray is unsafe","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/b30d8969e86fa2c9dd3b8e2e28ddda2202331f0f"},{"sha":"5f73037b8a556d393d2960bb7986131726ddd78c","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"reference: not sure this is the right place to discuss design","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/5f73037b8a556d393d2960bb7986131726ddd78c"},{"sha":"e0f35da9c1839aced4b0db840486b6da0742f444","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"reference: fix anchor link","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/e0f35da9c1839aced4b0db840486b6da0742f444"},{"sha":"70770753722fc302d7db634f8215362c1079d217","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"doc: \"familiarity\" does not need to be repeated here","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/70770753722fc302d7db634f8215362c1079d217"},{"sha":"996bd9d0d6b7887e4720d5a595ce9fd2c6a82c80","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"reference: 3 of the 4 things mentioned here are optional","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/996bd9d0d6b7887e4720d5a595ce9fd2c6a82c80"},{"sha":"f34eafdcf9486189f594dc1e38a5b490bcba67ec","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"reference: follow idiom in code snippet","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/f34eafdcf9486189f594dc1e38a5b490bcba67ec"},{"sha":"0b13ee0ced39db0acaf1bb966e57417bd42b0423","author":{"email":"e7b73ca0953a5d12982870cd6d45d044b17f68d7@gmail.com","name":"Tshepang Lekhonkhobe"},"message":"reference: rename \"structure\" to the more familiar \"struct\"","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/0b13ee0ced39db0acaf1bb966e57417bd42b0423"},{"sha":"97f2a325644eb88b50fb5b52e09933535fa29c40","author":{"email":"06a7813f879e3069b8b80d175ff4f9d3508d9379@gmail.com","name":"Andrew Paseltiner"},"message":"Optimize `Vec::clone_from`\n\nBefore:\n\ntest dst_bigger::src_100_dst_1000::clone      ... bench:  34 ns/iter (+/- 1)\ntest dst_bigger::src_100_dst_1000::clone_from ... bench:  75 ns/iter (+/- 3)\n\ntest dst_bigger::src_10_dst_100::clone        ... bench:  25 ns/iter (+/- 0)\ntest dst_bigger::src_10_dst_100::clone_from   ... bench:   9 ns/iter (+/- 1)\n\ntest eq::src_1000_dst_1000::clone             ... bench: 105 ns/iter (+/- 2)\ntest eq::src_1000_dst_1000::clone_from        ... bench: 593 ns/iter (+/- 21)\n\ntest eq::src_100_dst_100::clone               ... bench:  34 ns/iter (+/- 1)\ntest eq::src_100_dst_100::clone_from          ... bench:  75 ns/iter (+/- 1)\n\ntest src_bigger::src_1000_dst_100::clone      ... bench: 103 ns/iter (+/- 5)\ntest src_bigger::src_1000_dst_100::clone_from ... bench: 148 ns/iter (+/- 5)\n\ntest src_bigger::src_100_dst_10::clone        ... bench:  34 ns/iter (+/- 1)\ntest src_bigger::src_100_dst_10::clone_from   ... bench:  20 ns/iter (+/- 0)\n\nAfter:\n\ntest dst_bigger::src_100_dst_1000::clone      ... bench:  34 ns/iter (+/- 2)\ntest dst_bigger::src_100_dst_1000::clone_from ... bench:  15 ns/iter (+/- 1)\n\ntest dst_bigger::src_10_dst_100::clone        ... bench:  26 ns/iter (+/- 1)\ntest dst_bigger::src_10_dst_100::clone_from   ... bench:   7 ns/iter (+/- 0)\n\ntest eq::src_1000_dst_1000::clone             ... bench: 103 ns/iter (+/- 1)\ntest eq::src_1000_dst_1000::clone_from        ... bench:  85 ns/iter (+/- 4)\n\ntest eq::src_100_dst_100::clone               ... bench:  34 ns/iter (+/- 2)\ntest eq::src_100_dst_100::clone_from          ... bench:  15 ns/iter (+/- 1)\n\ntest src_bigger::src_1000_dst_100::clone      ... bench: 103 ns/iter (+/- 4)\ntest src_bigger::src_1000_dst_100::clone_from ... bench:  90 ns/iter (+/- 2)\n\ntest src_bigger::src_100_dst_10::clone        ... bench:  34 ns/iter (+/- 2)\ntest src_bigger::src_100_dst_10::clone_from   ... bench:  20 ns/iter (+/- 0)\n\nCloses #28601.","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/97f2a325644eb88b50fb5b52e09933535fa29c40"},{"sha":"355bbfb8955ffdfb2bb7940ca1b38f2bbb5defd4","author":{"email":"3a2c29237f73c7cf88424b80e427b1884f346b35@rust-lang.org","name":"bors"},"message":"Auto merge of #28602 - apasel422:clone_from, r=bluss\n\nr? @bluss","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/355bbfb8955ffdfb2bb7940ca1b38f2bbb5defd4"},{"sha":"f293ea28b4beb5821feedc862619ec539f742cc3","author":{"email":"7b617481dc67255f8ac089bf33cb7fadcdc5dda1@gmail.com","name":"Eduard Burtescu"},"message":"Remove the deprecated box(PLACE) syntax.","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/f293ea28b4beb5821feedc862619ec539f742cc3"},{"sha":"6f0a095d0509d19d1ffabaa41f779470807dc1f2","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28616 - tshepang:idiom, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/6f0a095d0509d19d1ffabaa41f779470807dc1f2"},{"sha":"c16b0f7060f1cec23f25b05c05d0bf37f8495b1b","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28617 - tshepang:optional, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/c16b0f7060f1cec23f25b05c05d0bf37f8495b1b"},{"sha":"668ffb1dd8cab0fad9e9ac989dab4306fb2fa5b7","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28618 - tshepang:repetition, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/668ffb1dd8cab0fad9e9ac989dab4306fb2fa5b7"},{"sha":"c104ba37553b8887253eda2e081f2c30283b2ce9","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28619 - tshepang:fix-link, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/c104ba37553b8887253eda2e081f2c30283b2ce9"},{"sha":"e314ac601aa87c6b7958cec1199d646a1f7f2691","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28620 - tshepang:not-filled, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/e314ac601aa87c6b7958cec1199d646a1f7f2691"},{"sha":"c3ca1820828f3ed6620b45b0cc2cc404e322a8ce","author":{"email":"9ce5770b3bb4b2a1d59be2d97e34379cd192299f@steveklabnik.com","name":"Steve Klabnik"},"message":"Rollup merge of #28622 - tshepang:known-as-structs, r=steveklabnik","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/c3ca1820828f3ed6620b45b0cc2cc404e322a8ce"},{"sha":"e9801294a1e24ec8812b8bb827a5d6df5f9078a9","author":{"email":"3a2c29237f73c7cf88424b80e427b1884f346b35@rust-lang.org","name":"bors"},"message":"Auto merge of #28634 - steveklabnik:rollup, r=steveklabnik\n\n- Successful merges: #28616, #28617, #28618, #28619, #28620, #28622\n- Failed merges: #28621","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/e9801294a1e24ec8812b8bb827a5d6df5f9078a9"},{"sha":"6a2187414a8c25f485dc788088b4466f595a7dd9","author":{"email":"3a2c29237f73c7cf88424b80e427b1884f346b35@rust-lang.org","name":"bors"},"message":"Auto merge of #28538 - alevy:make_fixedsizearray_unsafe, r=alexcrichton\n\n[breaking-change]\r\n\r\n`FixedSizeArray` is meant to be implemented for arrays of fixed size only, but can be implemented for anything at the moment. Marking the trait unsafe would make it more reasonable to write unsafe code which operates on fixed size arrays of any size.\r\n\r\nFor example, using `uninitialized` to create a fixed size array and immediately filling it with a fixed value is externally safe:\r\n\r\n```\r\npub fn init_with_nones<T, A: FixedSizeArray<Option<T>>>() -> A {\r\n    let mut res = unsafe { mem::uninitialized() };\r\n    for elm in res.as_mut_slice().iter_mut() {\r\n        *elm = None;\r\n    }\r\n    res\r\n}\r\n```\r\n\r\nBut the same code is not safe if `FixedSizeArray` is implemented for other types:\r\n\r\n```\r\nstruct Foo { foo: usize }\r\nimpl FixedSizeArray<Option<usize>> for Foo {\r\n    fn as_slice(&self) -> &[usize] { &[] }\r\n    fn as_mut_slice(&self) -> &mut [usize] { &mut [] }\r\n}\r\n```\r\n\r\nnow `init_with_nones() : Foo` returns a `Foo` with an undefined value for the field `foo`.","distinct":true,"url":"https://api.github.com/repos/arielb1/rust/commits/6a2187414a8c25f485dc788088b4466f595a7dd9"}]}