{"push_id":621400553,"size":97,"distinct_size":94,"ref":"refs/heads/master","head":"3e8a773bc51cc276fa53a07980566e816234a6bd","before":"d528aa9960cb9b937d8ef6c09905a6a8076d5f3a","commits":[{"sha":"e05c2f80da3bf538c045d0682426a25b1c4b862b","author":{"email":"4fb647a2c3ead3c3f40f455abb861941f7d4ffb2@posteo","name":"Michael Woerister"},"message":"trans: Add early-out when translating unreachable controlflow expressions.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/e05c2f80da3bf538c045d0682426a25b1c4b862b"},{"sha":"35275076f52d53c3dcd9dee85d92a2059a663225","author":{"email":"19e794c1bad8f0914a9eb04e9876660727aa8f3b@gmail.com","name":"Huon Wilson"},"message":"Remove unneeded `T: Send + Sync` bounds from `Arc`.\n\nThe requirement `T: Send + Sync` only matters if the `Arc` crosses\nthread boundaries, and that is adequately controlled by the impls of\n`Send`/`Sync` for `Arc` itself. If `T` doesn't satisfy the bounds, then\nthe `Arc` cannot cross thread boundaries and so everything is still\nsafe (`Arc` just acts like an expensive `Rc`).","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/35275076f52d53c3dcd9dee85d92a2059a663225"},{"sha":"25d070f228a101a806165a434b150a59a54f08ba","author":{"email":"19e794c1bad8f0914a9eb04e9876660727aa8f3b@gmail.com","name":"Huon Wilson"},"message":"Remove unneeded `Send`/`Sync` bounds from `Mutex`/`RwLock`.\n\nThe requirements `T: Send` and `T: Send + Sync` for `Mutex` and `RwLock`\nrespectively only matter if those types are shared/sent across thread\nboundaries, and that is adequately controlled by the impls of\n`Send`/`Sync` for them. If `T` doesn't satisfy the bounds, then\nthe types cannot cross thread boundaries and so everything is still\nsafe (the two types just act like an expensive `RefCell`).","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/25d070f228a101a806165a434b150a59a54f08ba"},{"sha":"0f6b43aa8f288d3d12adc8747fb5060956d7f0e5","author":{"email":"19e794c1bad8f0914a9eb04e9876660727aa8f3b@gmail.com","name":"Huon Wilson"},"message":"Remove unneeded `Send` bounds from `std::sync::mpsc`.\n\nThe requirements `T: Send` only matter if the channel crosses thread\nboundaries i.e. the `Sender` or `Reciever` are sent across thread\nboundaries, and which is adequately controlled by the impls of `Send`\nfor them. If `T` doesn't satisfy the bounds, then the types cannot cross\nthread boundaries and so everything is still safe (the pair of types\ncollectively behave like a `Rc<RefCell<VecDeque>>`, or something of that\nnature).","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/0f6b43aa8f288d3d12adc8747fb5060956d7f0e5"},{"sha":"fb78ca8b763e57c83d9269a97b9f374aeed7d0b2","author":{"email":"e468f80cecb9247776b439ed161d31bbccdcf9df@psych0tik.net","name":"Richo Healey"},"message":"rustup: Fix comment about Darwin's uname -m","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/fb78ca8b763e57c83d9269a97b9f374aeed7d0b2"},{"sha":"ee3dffac4939c24d8c6412dc12dc1bd388494f40","author":{"email":"e468f80cecb9247776b439ed161d31bbccdcf9df@psych0tik.net","name":"Richo Healey"},"message":"Add support for channel selection","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/ee3dffac4939c24d8c6412dc12dc1bd388494f40"},{"sha":"45c10db41f2af5919621ff69f5dc090cc917c1d3","author":{"email":"4214fcc78ec77c101c4b11989256e557459f0535@gmail.com","name":"bcoopers"},"message":"Clarified and simplified algorithm for increasing size of buffer in\nread_to_end()","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/45c10db41f2af5919621ff69f5dc090cc917c1d3"},{"sha":"2982fe39ad93e29709a2e1414a4228718c8de28a","author":{"email":"4214fcc78ec77c101c4b11989256e557459f0535@gmail.com","name":"bcoopers"},"message":"80 character line limit","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/2982fe39ad93e29709a2e1414a4228718c8de28a"},{"sha":"8d3e55908ae0e51f04c170133c9f9739886b8e2e","author":{"email":"4214fcc78ec77c101c4b11989256e557459f0535@gmail.com","name":"bcoopers"},"message":"Clearer wording","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/8d3e55908ae0e51f04c170133c9f9739886b8e2e"},{"sha":"240734c31e529557583a0dc8e97abf858b4a375d","author":{"email":"4214fcc78ec77c101c4b11989256e557459f0535@gmail.com","name":"bcoopers"},"message":"Only zero at most 64k at a time.  We still use the doubling\nreallocation strategy since extend() calls reserve() and/or\npush() for us.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/240734c31e529557583a0dc8e97abf858b4a375d"},{"sha":"0939837867e77f478dcd3735f3a6ce8823f5fd48","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Rename the cryptic cres and ures types.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/0939837867e77f478dcd3735f3a6ce8823f5fd48"},{"sha":"4b0edb96d080fadccc542dad50e6576c8e11bd85","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Combine `try` and `commit_if_ok` and make some details of inference\ncontext private.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/4b0edb96d080fadccc542dad50e6576c8e11bd85"},{"sha":"7c62640458f1b8ac0f4d3871a265ea9555b3c3c8","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Refactor unification interface by moving the methods off of inferctxt and onto the\n`UnificationTable`, and renaming/collapsing some methods.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/7c62640458f1b8ac0f4d3871a265ea9555b3c3c8"},{"sha":"c581840dcce6991cf55379dd5cf8e2a92a94e994","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Make union-find helper fns private, change to u32.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/c581840dcce6991cf55379dd5cf8e2a92a94e994"},{"sha":"a6d9930525bee48e250bc9527f48c501e53d861d","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Extract more `ty` and `infer` dependencies from the unification engine\nso that it is closer to standalone.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/a6d9930525bee48e250bc9527f48c501e53d861d"},{"sha":"e78550bf88eac19b5a1b7a5c1dbad0d0c331c557","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Switch to FnvHashMap","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/e78550bf88eac19b5a1b7a5c1dbad0d0c331c557"},{"sha":"e301d7cab2d7f7dbbb6d5ee5d2fc1482f9fdd50d","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Remove unused import","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/e301d7cab2d7f7dbbb6d5ee5d2fc1482f9fdd50d"},{"sha":"8403b82ddb6657dead95c6c3877824ffb3f13af2","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Port over type inference to using the new type relation stuff","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/8403b82ddb6657dead95c6c3877824ffb3f13af2"},{"sha":"cead47ca53a2c6bb0f774264131dccbc0936d90b","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"Add a \"match\" relation that can be used to make recursion check during\ntrait matching more tailored. We now detect recursion where the\nobligations \"match\" -- meaning basically that they are the same for some\nsubstitution of any unbound type variables.","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/cead47ca53a2c6bb0f774264131dccbc0936d90b"},{"sha":"cdb10b884b3975dd897096e052f386f55cf0f4c9","author":{"email":"4cc33a8ae3d9bb448f90bf63a1d4018698b1fb94@alum.mit.edu","name":"Niko Matsakis"},"message":"A very simple hack to force an autoderef if the callee has type `&mut\nF`, so that if we have `x: &mut FnMut()`, then `x()` is translated to\n`FnMut::call_mut(&mut *x, ())` rather than `&mut x`. The latter would\nrequire `mut x: &mut FnMut()`, which is really a lot of mut. (Actually,\nthe `mut` is normally required except for the special case of a `&mut F`\nreference, because that's the one case where we distinguish a unique\npath like `x` from a mutable path.)","distinct":true,"url":"https://api.github.com/repos/steveklabnik/rust/commits/cdb10b884b3975dd897096e052f386f55cf0f4c9"}]}