## rust-lang/rust — release-0.4…release-0.5

_972+ commits._

### Features
- **core: Add a Zero and One trait to num** (e8102e7)
- **Add Isaac Aggrey to AUTHORS** (327c1f5)
- **core: add unwrap methods to dvec, either, and mutable** (2ad41b8)
- **core: add macro_rules! for "condition! { c: in -> out; }".** (8e28f23)
- **core: Add &self to core::iter methods** (88962ee)
- **std: Add flatpipes** (ec93058)
- **add Jakub to AUTHORS** (5ff99c2)
- **Add more tests** (6c83fe4)
- **Simplify the exhaustiveness check and add comments** (1fdfd3b)
- **Add support for destructuring vectors in match expressions** (1968cb3)
- **add an empty PriorityQueue constructor** (f1e8773)
- **add Tim Taubert to AUTHORS** (fe9294e)
- **Add priority_queue test for unique pointers** (60ef609)
- **Add various workaround attributes to priority_queue** (90bebe3)
- **priority_queue: add docstring for from_vec** (ac695aa)
- **add priority queue implementation (binary heap)** (dd2b32b)
- **Add a section to the macro tutorial about recursive macros.** (7c103f2)
- **librustc: Add a lint mode for deprecated self. r=brson** (ebd9ad4)
- **Add check-stageN-doc target. Closes #4007** (fbf4349)
- **Add a note about oldcomm to release notes** (88add6c)
- **Add Daniel Micay to AUTHORS.txt** (0b3cc15)

### Fixes
- **tutorial: Fix broken examples** (21c9d08)
- **tutorial: Fix example in syntax basics section** (e4b3915)
- **tutorial: Fix formatting** (9cbc0fd)
- **Update docs to mention trait constraints; also fix failing doc tests** (2d313fe)
- **Fix a warning in the workcache test.** (b865b4b)
- **Merge pull request #4225 from isaacaggrey/patch-1** (15049f6)
- **Fix doc typo** (63232d6)
- **Fix vec::flat_map_to_vec method** (938058b)
- **Make #[path] work with absolute paths again. Fix check-fast** (9057e98)
- **Fix some iter tests** (907fa74)
- **core: fix remaining repr bugs, r=burningtree.** (6d4fbd4)
- **fix 4 repr tests due to differences in spacing. r=burningtree.** (55138c7)
- **fix warnings in vec destructuring tests** (3fc74df)
- **Change the default_methods lint mode from forbid to deny to fix tests** (2356457)
- **Fix build breakage** (5827f1c)
- **Fix doc comment** (8cbf817)
- **priority_queue: fix test compilation** (ab75d39)
- **priority_queue: fix siftup/siftdown naming** (04df723)
- **priority_queue: fix to_sorted_vec off-by-one error** (e00c3b0)
- **librustc: Fix type_use for generic newtype structs. Closes #4188. rs=bugfix** (41c0d70)
- **Fix broken tests** (b0fc222)
- **Fix broken tests** (a9601bc)
- **Fix broken test** (0afe002)
- **Fix trait-inheritance-overloading-xc and un-xfail** (3a5b6a7)
- **Fix broken tests** (8979695)

### Backend
- **doc: Mention argument bindings in manual** (8b98e5a)
- **tutorial: Discuss argument patterns** (45e62d0)
- **tutorial: Clarify description of trait inheritance** (d098faa)
- **tutorial: Re-remove core:: prefix from some examples** (f26df46)
- **tutorial: Typo** (d38f784)
- **tutorial: Clean up language about syntax extensions** (b7354f1)
- **tutorial: Try to fit the early discussion of :: in better** (30fac74)
- **tutorial: Remove some trivia about operators** (cbddd5e)
- **tutorial: Editing** (2f615dc)
- **tutorial: Update scope** (1983e54)
- **tutorial: Mention rusti with other tools** (072017e)
- **tutorial: Discuss the primitive types along with their literals** (201039c)
- **tutorial: It doesn't matter that Rust identifiers are the same as C** (107b2e5)
- **tutorial: Integrate constants into main intro text** (36e2c10)
- **tutorial: Remove the section on constants** (e06ca65)
- **tutorial: Remove the entire 'Types' section** (0b0b50a)
- **tutorial: Remove mutable vector syntax** (6468121)
- **tutorial: Remove confusing discussion about semicolons** (e0f9f89)
- **tutorial: update intro** (a24b9e0)
- **tutorial: Update for moves based on type** (f15ccc0)
- **tutorial: Typos** (41870da)
- **tutorial: Move method discussion after closures, before generics** (191b328)
- **Move mast static method to the section on methods** (af5cd34)
- **Use explicit self in rest of tutorial** (42ab33e)
- **tutorial: Rewrite method section to deal with explicit self** (171e6a1)
- **tutorial: Reorder sections on traits** (7d2c2db)
- **doc: 'trait constraints' -> 'inheritance'. Expand** (850050b)
- **doc: describe the Drop trait. cc: #4217** (66aadec)
- **Remove the cfg(stageN)-specific serialize code.** (76a2891)
- **Register snapshots** (faef329)
- **doc: Mention tuple structs** (8554d5e)
- **Remove serialize::traits submodule.** (c14105b)
- **Remove the old serialization code** (9c673b2)
- **Bump version numbers in docs** (6742c98)
- **doc: structure expressions. cc: #4217** (e0072e3)
- **doc: mention moved and copied types. cc: #4217** (4676697)
- **Mention module/type namespace merge in release notes** (bb66fce)
- **Remove transitional path2 attribute** (dac88fa)
- **Register snapshots** (78dc226)
- **Remove superfluous parentheses.** (82a983d)
- **core: use movable self to clean up option/result.** (a0ef334)
- **Stop resolving static methods at the module level. Closes #4179** (97ddf3c)
- **'trait instance' -> 'object'** (263136d)
- **Update tutorial on generics. #4217** (80a4769)
- **Another tweak to auto_encode to only use trait-qualified static methods** (a59747c)
- **doc: a little more material on object types, part of #4217.** (6d4621d)
- **Deal with test failures in various ways** (d062896)
- **Merge commit 'erickt/incoming^' into kind-names** (b46e25b)
- **Mention flatpipes in release notes** (807ce62)
- **Change auto_encode to call 'std::serialize::traits::Decode::decode'** (c704d26)
- **'trait constraints' -> 'trait inheritance'** (0f5bd1e)
- **Change iter::find's closure to take a ref** (85bb1fc)
- **Switch from serialization to std::serialize. (snapshot)** (8650c6f)
- **~900 changes in 0.5** (72f8a03)
- **Make the path and path2 attributes equivalent. Remove some uses** (33a8f85)
- **core: remove old repr system, enable newer one. Close #3109.** (7ab66a4)
- **When matching a slice, the tail should have the same lifetime** (6530fd3)
- **Use the same logic for _ and [..tail] when checking reachability** (856dbac)
- **Register snapshots** (5bf7ba0)
- **Revert "Register snapshots"** (6899872)
- **Register snapshots** (d6d12d9)
- **Merge pull request #4200 from ttaubert/issue-2649-rewrite-to_str_bytes** (8311c94)
- **Merge pull request #4206 from paulstansifer/macro_tutorial_improvements** (70fbdb9)
- **Mention license change in release notes** (ceca0e8)
- **Mention priority queue in release notes** (0ac6883)
- **Long lines** (161d289)
- **priority_queue: replace copies with moves** (b3463ea)
- **priority_queue: clean up naming** (6c433f2)
- **priority_queue: avoid copy with top and maybe_top** (7bd0d71)
- **priority_queue: replace some copies with swaps** (8b13bf7)
- **priority_queue: make from_vec a static method** (285496b)
- **priority_queue: make to_vec/to_sorted_vec methods** (757a2af)
- **Don't install the fuzzer** (6036add)
- **Reword some things in the macro tutorial.** (2b5e81c)
- **Whitespace** (7f8e302)
- **rt: Do some casting to avoid warnings** (20ea37b)
- **Long lines** (91067e9)
- **Check for oom in a few more places** (81805e0)
- **Abort instead of throwing on oom** (0402360)
- **Made a bunch more classes non-copyable** (e8d2d55)
- **Instead of returning a bool (which everyone ignored) pop asserts** (eca23da)
- **Check for realloc failure and bad subscripts** (6bab226)
- **polymorphic indexed_list fixes:** (cf1c3d2)
- **Improvements to array_list, hash_map, and indexed_list:** (fc740a7)
- **Update docs for crate file changes** (d4daa78)
- **rewrite uint::to_str_bytes to avoid raw pointers** (2f3d4f6)
- **librustc: Implement a lint mode for default methods. r=brson** (8a9ccf8)
- **Use the term 'trait constraints' instead of 'inheritance' in release notes** (d719eac)
- **Revert "librustc: Implement a lint mode for default methods"** (99fa9c3)
- **librustc: Implement a lint mode for default methods** (53b181d)
- **librustc: Ensure that no moves from the inside of @ or & boxes occur. rs=crashing-servo** (bdb2d65)
- **Display the full TOC in the manual. Closes #4194** (e67190a)
- **Remove more uses of 'move' from core::vec** (309cdfd)
- **Rewrite core::vec::shift to not allocate** (2c21f34)
- **xfail-fast run-pass/stat.rs** (dbc52ce)
- **[docs] Note that types and modules share the same namespace** (47faeb9)
- **Merge remote-tracking branch 'thestinger/vim'** (0a1ac75)
- **Un-xfail tests that work now** (abe33f1)
- **Merge pull request #4190 from brson/oldcomm** (3eb15b8)
- **Rename core::comm to core::oldcomm** (e6d1b02)
- **Remove spawn_listener, spawn_conversation** (80ef724)

### Tests
- **test: Fix some broken test cases** (02e804b)
- **test: Add a test for trait inheritance with self as a type parameter. rs=test-only** (593f414)

### Docs
- **docs: mention static methods** (b99a254)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/rust-lang/rust?utm_source=github-action)._