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

_2226+ commits._

### Features
- **tutorial: add note about mutability of vectors** (c33bff9)
- **manual: add 'item', remove statement that built-in types are keywords.** (196cc02)
- **manual: add section on do-expressions.** (fd85a00)
- **manual: add section on lambda expressions.** (1a885f6)
- **manual:  add borrow operator to symbolic unary operator list; mention copy and move.** (c46706f)
- **manual: add section for unary move expressions.** (e257f39)
- **manual: add section for path expressions.** (009cf53)
- **manual: pluralize; decls can introduce multiple names.** (25d8ca1)
- **Remove several references to resources; add section for Constants.** (3d31a6b)
- **Remove mention of res_item, add const_item. Reword a  bit.** (cad6733)
- **libcore: add pop/swap/consume to SendMap** (6ced454)

### Fixes
- **Fix tutorial-ffi tests** (140d16a)
- **manual: fix one more nit.** (5bca5f7)
- **manual: fix accidentally broken test.** (588d97d)
- **manual: fix bullet list.** (0b1a401)
- **manual: fix various examples.** (9bbff50)
- **manual: fix vec and str types to discuss definite / indefinite size.** (9ea5e6a)
- **Fix pipe-select-macro** (dd54431)
- **Fix from_buf in test cases** (66cea37)
- **manual: fix exponents on number types.** (edf493f)
- **manual: s/unique/owned/, s/shared/managed/, fix rval/lval more.** (3a2e9e4)
- **Make to_str pure and fix const parameters for str-mutating functions** (5a8ba07)
- **Fix tutorial link to tasks** (41bce91)
- **Fix doctest.** (43fd84a)
- **Fix markings about future in manual, remove out-of-date marker.** (8f9bb5d)
- **Attempt to fix the DSYM_GLOB issue again, differently.** (e356959)
- **doc: Fix some inaccuracies in the tutorial.** (6da09c3)
- **Fix tutorial breakage.** (28cf16a)
- **Fix typo in linux-i386 snapshot hash** (04a3d95)

### Backend
- **Merge pull request #3734 from dbp/tutorial-fixes** (39c0d35)
- **manual: Lightly copyedit the crates section** (91315c3)
- **manual: Lightly copyedit the macros section** (bb4dd06)
- **manual: remove as many ~[] literals as possible.** (13ea161)
- **manual: remove as many ~"" literals as possible.** (d81d4f1)
- **manual: remove description of references (modes) from memory-slots section.** (d471e24)
- **manual: rewrite the section on type kinds.** (7090953)
- **manual: capitalize more examples properly.** (089e257)
- **manual: example fixup.** (45dc69d)
- **manual: avoid describing 'assert' as 'like check', note future removal.** (a1c831b)
- **manual: remove 'analogy' between return and return. meaningless.** (73d4417)
- **manual: fixes to match expression examples and explanation.** (544d36b)
- **manual: remove unusual production name in match-expr grammar.** (533cce8)
- **manual: "to" -> ".."** (1d69b81)
- **manual: rewrite for-expression section to reflect this year's definition.** (515f88f)
- **Change FIXME number** (693866d)
- **Revert "Use a constant vector for the sudoku board, delete a FIXME"** (44bffd2)
- **Re-xfail two tests that I tried to resurrect (no time right now)** (55b5284)
- **Use move instead of ref in select-macro** (2d116db)
- **Export VecUnboxedRepr from vec so a test case can use it** (945d57a)
- **Un-XFAIL task-compare** (3c1ff31)
- **Use match move in select-macro, get rid of a FIXME** (5a849ea)
- **Un-XFAIL reflect-visit-type** (b24cba8)
- **Annotate FIXMEs in reflect-visit-data** (f1de001)
- **Uncomment nested module in test, delete a FIXME** (c090dca)
- **Use a constant vector for the sudoku board, delete a FIXME** (06d0bf7)
- **Use match move in pingpong, delete a FIXME** (668b39c)
- **Remove obsolete comment** (915897b)
- **Remove obsolete FIXME** (7509a3d)
- **Use truncate in typeck::infer; gets rid of FIXME** (97c2255)
- **Remove obsolete comment** (acaad93)
- **Update FIXME numbers** (41752b0)
- **Remove obsolete FIXME** (db679a7)
- **Update FIXME numbers** (6986acb)
- **Remove obsolete FIXME** (3764ec7)
- **Remove obsolete FIXME** (63dc831)
- **Update FIXME number** (fb667cd)
- **Remove unneeded no_rt flag** (72fc2b5)
- **Update FIXME number** (ec63112)
- **Remove comment that is now false** (6854265)
- **Update FIXME numbers** (bfbb719)
- **Update FIXME number** (d2efd7e)
- **Update FIXME number** (2749076)
- **Update FIXME number** (fc4da29)
- **Exports are fixed, hooray** (71813b3)
- **Remove invalid FIXME** (f6606af)
- **manual: remove mention of do-while loops.** (2bb141c)
- **manual: remove mention of >>>.** (04e6b09)
- **manual: remove 'trivial cast', it's an unused definition.** (44f8a8e)
- **manual: note overloading and traits for comparison ops.** (1d47c0a)
- **manual: mention overloading, traits on the arithmetic and bitwise operators.** (eff4a36)
- **Remove Copy bound from std::timer::delayed_send** (d882274)
- **Write option::chain and result::chain with `match move`** (1ab914d)
- **manual: remove box-specific language.** (c87ff5e)
- **manual: "with" -> ".." for FRU.** (382e85c)
- **manual: link to expressions in lval/rval section.** (2c34ffa)
- **manual: remove vestigial mention of tasking from definition of statement (long story, been there since first public release).** (78f29f2)
- **manual: s/Self type/Self types/.** (c2fd04f)
- **manual: remove all mention of constraints.** (a8e1d83)
- **manual: capitalize examples, remove mention of named impls, change RC -> managed, clarify language.** (c4237db)
- **manual: disambiguate field expressions from method-call expressions.** (06a17a7)
- **manual: improve description of traits.** (d81196c)
- **manual: describe structs, split out handling of recursion from enums, deprecate records.** (9cba4af)
- **manual: remove mention of tags, now very obsolete.** (0673b49)
- **manual: link to kinds, remove kind-list.** (dfd00ec)
- **manual: improve description of unsafe functions.** (bc68a88)
- **manual: capitalize 'Copy'.** (9e6df28)
- **manual: remove a mode.** (a2cace4)
- **Reorder function sections.** (c9cee7c)
- **Reword para on diverging functions.** (860573e)
- **Typo: an -> a.** (012bb7d)
- **Copyedit sections 11-13 of the tutorial. That's all, folks!** (39acb06)
- **Copyedit sections 9 and 10 of the tutorial** (6d25051)
- **Copyedit sections 7 and 8 of the tutorial** (7582a48)
- **Copyedit sections 5 and 6 of the tutorial** (1a8b00a)
- **Copyedit section 4 of tutorial** (d7b8512)
- **Copyedit section 3 of tutorial** (6627ac6)
- **Copyedit sections 1 and 2 of tutorial** (38ccaed)
- **Copy README install instructions from tutorial** (4c833af)
- **Update tutorial install instructions** (b7b2217)
- **Merge pull request #3718 from killerswan/manpage_04** (a1f9a0f)
- **Remove mention of argv.** (ff37c65)
- **Mention deprecation of crate files.** (304a245)
- **Tidy up macro_rules grammar.** (c639f44)
- **Mention doc comments.** (58807b0)
- **Remove mention of block-comment nesting.** (19f1c31)
- **Minor fixes to the runtime and scheduling part of manual.** (d81a7ab)
- **Mention other languages.** (056fc13)
- **Move the description of -(W|A|D|F) into the `-W help` message** (ae8e678)
- **Touchup the debug flag description printing** (c419e77)
- **A simple update to the manpage based on the usage message** (194d378)
- **Copyedit sections 9-11 of the borrowed pointer tutorial (last edits from me)** (de4687c)
- **Copyedit sections 7 and 8 of the borrowed pointer tutorial** (448c349)
- **Copyedit sections 5 and 6 of the borrowed pointer tutorial** (ae861f0)
- **Tweak README.txt.** (bbd16a0)
- **Copyedit sections 3 and 4 of the borrowed pointer tutorial** (f4a6b84)
- **Register snapshots.** (0d8f447)
- **doc: Tweak the wording of the memory model goals** (d9317a1)
- **Remove section on 'note' expressions, they won't exist.** (f016fd4)
- **Tighten up language surrounding declarations, assignments, inits, lvals.** (fe1165f)
- **Remove old serialization2 vestigial code** (e325d02)
- **Merge pull request #3709 from dbp/pure** (3e0dcd4)
- **Copyedit first two sections of borrowed pointer tutorial** (a46db48)
- **core::str - making StrSlice trait functions pure** (c765c59)
- **Copyedit FFI tutorial** (cd6f24f)
- **Copyedit tasks tutorial** (4b3be85)
- **Merge pull request #3700 from erickt/cargo-interner** (15d8457)
- **Copyedit the macro tutorial** (0aa42bc)
- **Revert "Revert "Remove old auto_serialize2 code (needs snapshot)""** (22efa39)
- **Register snapshots** (48495f9)
- **Merge pull request #3703 from tav/incoming** (aa53505)
- **doc: Remove duplicate word typo in the tutorial.** (4c968f4)
- **Revert "cap-clause-use-after-move: modernize error msg"** (a477c5a)
- **Revert bogus snapshot.py change** (5b415c7)
- **Revert "Remove old auto_serialize2 code (needs snapshot)"** (a33535e)
- **Remove extra spaces from snapshots.txt** (73ec5f0)
- **Merge branch 'incoming' into snap-2012-10-05** (2cee214)
- **allow interner cache to be shared across parsers (#3699)** (1ac75d2)
- **Merge remote-tracking branch 'erickt/incoming' into snap-2012-10-05** (e3f1d34)
- **Register snapshots** (639f568)
- **Revert "remove ctor from ast"** (7bdab1e)

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