{"push_id":564553850,"size":28,"distinct_size":0,"ref":"refs/heads/auto","head":"d0ca03c34620a4b0b0136254a55013b4e5dd6724","before":"a248dd792a3de4588586dc776324da2a58f9b443","commits":[{"sha":"b2297fd710b9e0f860f8991b1f641d827f32e5da","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"std: Add some missing stability attributes\n\n* Display::fmt is stable\n* Debug::fmt is stable\n* FromIterator::from_iter is stable\n* Peekable::peek is stable","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/b2297fd710b9e0f860f8991b1f641d827f32e5da"},{"sha":"3449751ff7fa21aedd1352cdbe9f7d77e2bc0d91","author":{"email":"df08b6c3d39c0bd2bfd5240cc44c0226f94909a7@gmail.com","name":"Valerii Hiora"},"message":"iOS: fixed build","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/3449751ff7fa21aedd1352cdbe9f7d77e2bc0d91"},{"sha":"88449a8f79d83c68c8e3a695653df6a4c63a84f4","author":{"email":"4c454f4838987ff4597729af9fca5350bc2a3c4c@gmail.com","name":"Alexis"},"message":"add naivest entry API to VecMap","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/88449a8f79d83c68c8e3a695653df6a4c63a84f4"},{"sha":"9a17f62947d0c079f1c877de4fe1dab5b2c500d9","author":{"email":"d5e0892e7d66bcce47406a02632e7b4f50cda414@gmail.com","name":"Björn Steinbrink"},"message":"Optimize rposition\n\nThe extra check caused by the expect() call can, in general, not be\noptimized away, because the length of the iterator is unknown at compile\ntime, causing a noticable slow-down. Since the check only triggers if\nthe element isn't actually found in the iterator, i.e. it isn't\nguaranteed to trigger for ill-behaved ExactSizeIterators, it seems\nreasonable to switch to an implementation that doesn't need the check\nand just always returns None if the value isn't found.\n\nBenchmark:\n````rust\nlet v: Vec<u8> = (0..1024*65).map(|_| 0).collect();\nb.iter(|| {\n    v.as_slice().iter().rposition(|&c| c == 1)\n});\n````\n\nBefore:\n````\ntest rposition  ... bench:     49939 ns/iter (+/- 23)\n````\n\nAfter:\n````\ntest rposition  ... bench:     33306 ns/iter (+/- 68)\n````","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/9a17f62947d0c079f1c877de4fe1dab5b2c500d9"},{"sha":"0b9e227a1697e22b21d947f36bf1bd7695971d8f","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Move stability pass after privacy pass","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/0b9e227a1697e22b21d947f36bf1bd7695971d8f"},{"sha":"d30f225b492163b14005d5069b7924f3fecf868c","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"std: Remove `iter::ByRef` and generalize impls\n\nThis removes the `ByRef` iterator adaptor to stay in line with the changes to\n`std::io`. The `by_ref` method instead just returns `&mut Self`.\n\nThis also removes the implementation of `Iterator for &mut Iterator` and instead\ngeneralizes it to `Iterator for &mut I` where `I: Iterator + ?Sized`. The\n`Box<I>` implementations were also updated.\n\nThis is a breaking change due to the removal of the `std::iter::ByRef` type. All\nmentions of `ByRef<'a, T>` should be replaced with `&mut T` to migrate forward.\n\n[breaking-change]","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/d30f225b492163b14005d5069b7924f3fecf868c"},{"sha":"5cf9905e257ddeeadaf493a705a230081a6c7da3","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"std: Add `io` module again\n\nThis commit is an implementation of [RFC 576][rfc] which adds back the `std::io`\nmodule to the standard library. No functionality in `std::old_io` has been\ndeprecated just yet, and the new `std::io` module is behind the same `io`\nfeature gate.\n\n[rfc]: https://github.com/rust-lang/rfcs/pull/576\n\nA good bit of functionality was copied over from `std::old_io`, but many tweaks\nwere required for the new method signatures. Behavior such as precisely when\nbuffered objects call to the underlying object may have been tweaked slightly in\nthe transition. All implementations were audited to use composition wherever\npossible. For example the custom `pos` and `cap` cursors in `BufReader` were\nremoved in favor of just using `Cursor<Vec<u8>>`.\n\nA few liberties were taken during this implementation which were not explicitly\nspelled out in the RFC:\n\n* The old `LineBufferedWriter` is now named `LineWriter`\n* The internal representation of `Error` now favors OS error codes (a\n  0-allocation path) and contains a `Box` for extra semantic data.\n* The io prelude currently reexports `Seek` as `NewSeek` to prevent conflicts\n  with the real prelude reexport of `old_io::Seek`\n* The `chars` method was moved from `BufReadExt` to `ReadExt`.\n* The `chars` iterator returns a custom error with a variant that explains that\n  the data was not valid UTF-8.","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/5cf9905e257ddeeadaf493a705a230081a6c7da3"},{"sha":"6ec5a0f62b3b153ef5846429ffe2f0bf0f9fc5d0","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Error when #![staged_api] crates are missing stability markers","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/6ec5a0f62b3b153ef5846429ffe2f0bf0f9fc5d0"},{"sha":"c6aaea67250d32bde3ef26b7c864c3d6c1e05726","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Fix some missing stability attrs","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/c6aaea67250d32bde3ef26b7c864c3d6c1e05726"},{"sha":"4aa661ab3608551edab18584b958d281f8e4c094","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Add test for missing stability checker","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/4aa661ab3608551edab18584b958d281f8e4c094"},{"sha":"b64572cefe9f37c58c07af745afc91bfd0303c30","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Add unmarked_api feature (fixes #21884)","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/b64572cefe9f37c58c07af745afc91bfd0303c30"},{"sha":"d02d4c3c9bf0500d951efb20f273207e075259df","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Add staged_api and unmarked_api features to reference.md","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/d02d4c3c9bf0500d951efb20f273207e075259df"},{"sha":"f5e5bdb1973faddd9cab12201f5f8678a2f5b985","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Fix test","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/f5e5bdb1973faddd9cab12201f5f8678a2f5b985"},{"sha":"2258f906abcd518ebd88dde2c7a7605373059687","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"Don't check stability for tests","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/2258f906abcd518ebd88dde2c7a7605373059687"},{"sha":"a5ddacf001e4207efd732ecb04250783a64f36c8","author":{"email":"903817dace3a69d815606c577db89775e2c7670b@gmail.com","name":"Manish Goregaokar"},"message":"More test fixes","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/a5ddacf001e4207efd732ecb04250783a64f36c8"},{"sha":"3e39f0bc0e96f76610104918edaa5912f4f352df","author":{"email":"9df59a69f337cdc0a275d7c2f347281b851067f9@mozilla.com","name":"Aaron Turon"},"message":"Rename std::path to std::old_path\n\nAs part of [RFC 474](https://github.com/rust-lang/rfcs/pull/474), this\ncommit renames `std::path` to `std::old_path`, leaving the existing path\nAPI in place to ease migration to the new one. Updating should be as\nsimple as adjusting imports, and the prelude still maps to the old path\nAPIs for now.\n\n[breaking-change]","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/3e39f0bc0e96f76610104918edaa5912f4f352df"},{"sha":"45ddf50cebd8f3353383e473327911c1f8b34cd6","author":{"email":"9df59a69f337cdc0a275d7c2f347281b851067f9@mozilla.com","name":"Aaron Turon"},"message":"Add new path module\n\nImplements [RFC 474](https://github.com/rust-lang/rfcs/pull/474); see\nthat RFC for details/motivation for this change.\n\nThis initial commit does not include additional normalization or\nplatform-specific path extensions. These will be done in follow up\ncommits or PRs.","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/45ddf50cebd8f3353383e473327911c1f8b34cd6"},{"sha":"8550bf74c1149eb54fc568bb53b78fd2b6caec98","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"rollup merge of #21759: aturon/new-path\n\nThis PR implements [path reform](https://github.com/rust-lang/rfcs/pull/474), and motivation and details for the change can be found there.\n\nFor convenience, the old path API is being kept as `old_path` for the time being. Updating after this PR is just a matter of changing imports to `old_path` (which is likely not needed, since the prelude entries still export the old path API).\n\nThis initial PR does not include additional normalization or platform-specific path extensions. These will be done in follow up commits or PRs.\n\n[breaking-change]\n\nCloses #20034\nCloses #12056\nCloses #11594\nCloses #14028\nCloses #14049\nCloses #10035","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/8550bf74c1149eb54fc568bb53b78fd2b6caec98"},{"sha":"b53695b47af4705974038fa5f001c795644ece2d","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"rollup merge of #21835: alexcrichton/iov2\n\nThis commit is an implementation of [RFC 576][rfc] which adds back the `std::io`\nmodule to the standard library. No functionality in `std::old_io` has been\ndeprecated just yet, and the new `std::io` module is behind the same `io`\nfeature gate.\n\n[rfc]: https://github.com/rust-lang/rfcs/pull/576\n\nA good bit of functionality was copied over from `std::old_io`, but many tweaks\nwere required for the new method signatures. Behavior such as precisely when\nbuffered objects call to the underlying object may have been tweaked slightly in\nthe transition. All implementations were audited to use composition wherever\npossible. For example the custom `pos` and `cap` cursors in `BufReader` were\nremoved in favor of just using `Cursor<Vec<u8>>`.\n\nA few liberties were taken during this implementation which were not explicitly\nspelled out in the RFC:\n\n* The old `LineBufferedWriter` is now named `LineWriter`\n* The internal representation of `Error` now favors OS error codes (a\n  0-allocation path) and contains a `Box` for extra semantic data.\n* The io prelude currently reexports `Seek` as `NewSeek` to prevent conflicts\n  with the real prelude reexport of `old_io::Seek`\n* The `chars` method was moved from `BufReadExt` to `ReadExt`.\n* The `chars` iterator returns a custom error with a variant that explains that\n  the data was not valid UTF-8.","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/b53695b47af4705974038fa5f001c795644ece2d"},{"sha":"087e8479b91ab2507d3e19fad7e4c78ac81a5cbb","author":{"email":"60c6d277a8bd81de7fdde19201bf9c58a3df08f4@alexcrichton.com","name":"Alex Crichton"},"message":"rollup merge of #21870: alexcrichton/missing-stability\n\n* Display::fmt is stable\n* Debug::fmt is stable\n* FromIterator::from_iter is stable\n* Peekable::peek is stable","distinct":false,"url":"https://api.github.com/repos/rust-lang/rust/commits/087e8479b91ab2507d3e19fad7e4c78ac81a5cbb"}]}