{"push_id":822689900,"size":45,"distinct_size":45,"ref":"refs/heads/master","head":"13021876735b7a9ba6889dc7b40611b4618f4756","before":"c14609035d1780d4a8a3ca7b4fdf93046299ab4a","commits":[{"sha":"9868df2fd5d9364a1a1d8b22847c7b442a77a88b","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Non-parametric dropck; instead trust an unsafe attribute (RFC 1238).\n\nImplement cannot-assume-parametricity (CAP) from RFC 1238, and add the\nUGEH attribute.\n\n----\n\nNote that we check for the attribute attached to the dtor method, not\nthe Drop impl.\n\n(This is just to match the specification of RFC and the tests; I am\nnot wedded to this approach.)","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/9868df2fd5d9364a1a1d8b22847c7b442a77a88b"},{"sha":"d778e57bf61b2284f33d28486f2ac63faa0422cf","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Add RFC 1238's `unsafe_destructor_blind_to_params` (UGEH) where needed.\n\nI needed it in `RawVec`, `Vec`, and `TypedArena` for `rustc` to\nbootstrap; but of course that alone was not sufficient for `make\ncheck`.\n\nLater I added `unsafe_destructor_blind_to_params` to collections, in\nparticular `LinkedList` and `RawTable` (the backing representation for\n`HashMap` and `HashSet`), to get the regression tests exercising\ncyclic structure from PR #27185 building.\n\n----\n\nNote that the feature is `dropck_parametricity` (which is not the same\nas the attribute's name). We will almost certainly vary our strategy\nhere in the future, so it makes some sense to have a not-as-ugly name\nfor the feature gate. (The attribute name was deliberately selected to\nbe ugly looking.)","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/d778e57bf61b2284f33d28486f2ac63faa0422cf"},{"sha":"eea299beaaf5d4a735101a1209d774a2faf01343","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"run-pass tests for RFC 1238.\n\nIllustrates cases that worked before and must continue to work, and a\ncase that shows how to use the `unsafe_destructor_blind_to_params`\nattribute (aka \"the UGEH attribute\") to work around\ncannot-assume-parametricity.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/eea299beaaf5d4a735101a1209d774a2faf01343"},{"sha":"83077bee9352cea17758b26aa467022b2fbdc599","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"compile-fail tests.\n\nOne just checks that we are feature-gating the UGEH attribute (as\nusual for attributes associated with unstable features).\n\nThe other is adapted from the RFC 1238 text, except that it has been\nextended somewhat to actually *illustrate* the scenario that we are\ntrying to prevent, namely observing the state of data, from safe code,\nafter the destructor for that data has been executed.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/83077bee9352cea17758b26aa467022b2fbdc599"},{"sha":"5708f44b368ae8cb5a4fdb1df222b2adef1c3bd0","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"shorten URLs to placate `make tidy`.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/5708f44b368ae8cb5a4fdb1df222b2adef1c3bd0"},{"sha":"7a4743fab02ae9e1cb8523f91997b3f6d8d02518","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"review comment: use RFC example for compile-fail/issue28498-reject-ex1.rs\n\n(It is not *exactly* the text from the RFC, but the only thing it adds\nis a call to a no-op function that is just an attempt to make it clear\nwhere the potential for impl specialization comes from.)","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/7a4743fab02ae9e1cb8523f91997b3f6d8d02518"},{"sha":"92da3f9464085bcf73221291bed20d410dee4a32","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"review comment: reduce the `is_adt_dtorck` method to just a check for the attribute.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/92da3f9464085bcf73221291bed20d410dee4a32"},{"sha":"e2e261f376b4d9dad7e9dd891da4865afd613303","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Added tests illustrating when and when not to use the UGEH attribute w.r.t. a trait bound.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/e2e261f376b4d9dad7e9dd891da4865afd613303"},{"sha":"7eda5b508f14a262ffd6aabee631b5e39ce45874","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Added tests illustrating when and when not to use the UGEH attribute w.r.t. a lifetime param.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/7eda5b508f14a262ffd6aabee631b5e39ce45874"},{"sha":"73f35cfb240667518c8636fb8c8ca2a9679c4f2b","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Added tests illustrating when and when not to use the UGEH attribute w.r.t. types in negative position.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/73f35cfb240667518c8636fb8c8ca2a9679c4f2b"},{"sha":"9ed5faa9d58e37b9c8181fc92349866e7b9598b4","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"Document the new more conservative dropck rule and the escape hatch.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/9ed5faa9d58e37b9c8181fc92349866e7b9598b4"},{"sha":"61f8def63a43631cdc36568c593043b831425e68","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"placate check-pretty via comment rearrangement.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/61f8def63a43631cdc36568c593043b831425e68"},{"sha":"6b5eb70e1db79f1fca9f01b6a671e822d6553ccd","author":{"email":"6843b7f84050e4b0065eb9911c4e409c28121646@gmail.com","name":"panicbit"},"message":"trpl: mention missing_docs lint","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/6b5eb70e1db79f1fca9f01b6a671e822d6553ccd"},{"sha":"702b6e552cc4fd5e20dff345e82327dc5a8eb613","author":{"email":"19977756dbf8662d2522b54008d8e16e97fe3dc2@gmail.com","name":"Daniel Keep"},"message":"Introduces a \"Syntax Index\" chapter to TRPL.\n\nThe intent with this chapter is to have a central place where users can\ngo to find out what a random bit of syntax means, be it a keyword,\nsymbol, or some unusual bit of composite syntax (like `for <...>`).  This\nshould be useful both for new users (who may not know what to call this\nweird `'blah` thing), and for experienced users (who may just wish to\nlink someone to the appropriate section on `Trait + Trait` bounds).\n\nWhere possible, entries have been linked to an appropriate section of\nthe book which explains the syntax.  This was not possible in all cases.\nIf an entry is missing links, that's because I was unable to *find*\nanything appropriate to link to.\n\nThis commit should include all stable keywords, operators and symbols,\nas well as a selection of potentially confusing or unusual syntax.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/702b6e552cc4fd5e20dff345e82327dc5a8eb613"},{"sha":"b78614fdfaf9e712f9ab93ea8389a6b7114d69e9","author":{"email":"19977756dbf8662d2522b54008d8e16e97fe3dc2@gmail.com","name":"Daniel Keep"},"message":"Expanded entries for generics.\n\n* Now mentions method generics.\n* Has separate entries for generic `fn`, `struct`, `enum`, and `impl`\n  items.\n\n(Thanks killercup).","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/b78614fdfaf9e712f9ab93ea8389a6b7114d69e9"},{"sha":"b6a4f0393bfc76f68aa3c9a5b86dd1f7aee5c08c","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"revise cfail test, removing ugeh attribute that was erroneously cut-and-pasted into it.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/b6a4f0393bfc76f68aa3c9a5b86dd1f7aee5c08c"},{"sha":"8dfe0ec8a8baf9b964a5be26b63df1c4ff5b2917","author":{"email":"6843b7f84050e4b0065eb9911c4e409c28121646@gmail.com","name":"panicbit"},"message":"trpl: missing documentation wording","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/8dfe0ec8a8baf9b964a5be26b63df1c4ff5b2917"},{"sha":"2b5983423dc3459eb8eb319b518c6a6bf0acf3d2","author":{"email":"19977756dbf8662d2522b54008d8e16e97fe3dc2@gmail.com","name":"Daniel Keep"},"message":"Corrections to syntax index.\n\n* removed reference to struct fields from `mut` description.\n* changed `..` pattern example to not be syntactically bogus.\n* changed `@` pattern example for similar reasons.\n\n(Thanks petrochenkov)","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/2b5983423dc3459eb8eb319b518c6a6bf0acf3d2"},{"sha":"e1aba75a978b7a228c2e5c413e2262e24b74141f","author":{"email":"8de0203a6391036bc81ce266eefac1291b6bcb9a@pnkfx.org","name":"Felix S. Klock II"},"message":"review comment: point out that the dropck analysis is now trivial.","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/e1aba75a978b7a228c2e5c413e2262e24b74141f"},{"sha":"cf785d1a9f6a572aba423516ab8541700575fdc2","author":{"email":"6843b7f84050e4b0065eb9911c4e409c28121646@gmail.com","name":"panicbit"},"message":"trpl: mention doc(hidden)","distinct":true,"url":"https://api.github.com/repos/melted/rust/commits/cf785d1a9f6a572aba423516ab8541700575fdc2"}]}