## rust-lang/rust — release-0.6…release-0.7

_2854+ commits._

### Features
- **librustc: back::link::sanitize support esacpe_utf8** (d387e78)
- **global_heap: inline malloc_raw and add realloc_raw** (80ab877)
- **add a closure_exchange_malloc lang item** (4a29d6e)
- **add a contains_managed intrinsic** (b914162)
- **Add -v/--version support to rust binary** (eee7acc)
- **Add missing argument to a debug! call in trans_arg_expr** (08a5278)
- **Add two tests for the case of the recurring closure.** (d7544fe)
- **iterator: UnfoldrIterator::new should have function argument last** (b9cf6a3)
- **Add tests for some default method things.** (9340fd5)
- **Add a depth counter to llvm::type_to_str to work around infinite llvm types.** (050d0e6)
- **Add Float to llvm::type_to_str.** (47afb33)
- **Add each_parent to WindowsPath** (d600601)
- **librustc: Add a small vector optimization for GEPi. Shaves a second off trans, I think?** (f463e69)
- **ctags: add macros** (7971202)
- **add a tutorial on containers and iterators** (659cd55)
- **rc: add missing `#[unsafe_no_drop_flag]`** (5fccce4)
- **Add test for #5321.** (0aa94ff)
- **mk: add mechanisms for triggering clean-llvm builds from commits** (9591832)
- **testsuite: Add test cases, some xfailed** (76b910d)

### Fixes
- **auto merge of #7457 : Blei/rust/fix-ffi-floats, r=cmr** (3017343)
- **fix code block syntax in two docstrings** (d820355)
- **Fix handling of temp cleanups for the "self" argument** (ba922a4)
- **Fix merge fallout** (95d22a3)
- **librustc: fix #7467 for android** (21cc0cc)
- **libextra: unused import fix for android AGAIN** (51beba6)
- **fix zsh completion for lint and debug flags** (28a3613)
- **Fix merge fallout** (4f04489)
- **Fix threadring** (8f5cb92)
- **librustc: Fix even *MORE* merge fallout!** (10bcb60)
- **librustc: Fix even *more* merge fallout!** (f25f466)
- **libextra: Fix even more merge fallout.** (f6a27cb)
- **librustc: Fix more merge fallout.** (3625781)
- **librustc: Fix merge fallout and test cases.** (bb83055)
- **librustc: Fix merge fallout.** (89eb995)
- **libstd: Fix merge fallout.** (8cd40f9)
- **libsyntax: Fix merge fallout** (90ad444)
- **fix stage0 build** (c45af01)
- **std: unused import fix for android** (6b2297d)
- **extra: unused import fix for android** (aabeba3)

### Backend
- **doc: Update links to 0.7** (a2db7c1)
- **Ignore all rusti tests harder. #7541** (451c943)
- **Ignore all rusti tests. #7541** (77b9824)
- **auto merge of #7409 : alexcrichton/rust/threadsafe, r=cmr** (e482856)
- **Turn on using LLVM threadsafely** (5183a6c)
- **auto merge of #7488 : yichoi/rust/sanitize_utf8, r=huonw** (b44953b)
- **auto merge of #7443 : yjh0502/rust/fix_field_dup, r=huonw** (0bd67f6)
- **auto merge of #7521 : thestinger/rust/vec, r=Aatch** (d324014)
- **auto merge of #7492 : yichoi/rust/fix_cleanllvm, r=luqmana** (6a2ad08)
- **librustc: apply changes of char::escape_unicode** (567cf30)
- **auto merge of #7487 : huonw/rust/vec-kill, r=cmr** (07feeb9)
- **Update verison numbers in README.md** (d5c5ce3)
- **pass exchange_malloc an alignment, not a tydesc** (5b40f2a)
- **global_heap: inline get_box_size and align_to** (0d7799d)
- **vec: implement exchange vector reserve in Rust** (b731d96)
- **auto merge of #7517 : brson/rust/0.7, r=brson** (1c48aac)
- **Bump version from 0.7-pre to 0.7** (a766a95)
- **More 0.7 release notes** (9b8c435)
- **auto merge of #7495 : thestinger/rust/exchange, r=cmr** (040ac2a)
- **stop copying the tydesc in unique box take glue** (45e2582)
- **managed: rm RC_EXCHANGE_UNIQUE constant** (7f3752c)
- **stop initializing ref_count in exchange_alloc** (408eef0)
- **rustpkg: Ignore a test that's failing on the dist-snap bot** (ca835f4)
- **auto merge of #7465 : alexcrichton/rust/issue-4432, r=cmr** (1790400)
- **Specialize to_str_common for floats/integers in strconv** (d3155fa)
- **Change char::escape_{default,unicode} to take callbacks instead of allocating** (8fe6fc1)
- **Remove vec::{map, mapi, zip_map} and the methods, except for .map, since this** (c0a20d2)
- **auto merge of #7374 : Jeaye/rust/func_highlight, r=cmr** (2b3569a)
- **Convert vec::{grow, grow_fn, grow_set} to methods.** (a396e1e)
- **Convert vec::dedup to a method.** (2eea642)
- **Convert vec::{bsearch, bsearch_elem} to methods.** (faa8f8f)
- **etc: update etc/unicode.py for the changes made to std::unicode.** (562dea1)
- **Convert vec::{reverse, swap} to methods.** (9e83b2f)
- **Convert vec::{rposition, rposition_elem, position_elem, contains} to methods.** (a890c2c)
- **Remove vec::[r]position_between, replaced by slices & iterators.** (45940ed)
- **Remove vec::{rfind, rfind_between, find_between}, replaced by slices and iterator adapators.** (5d46bcc)
- **auto merge of #7468 : cmr/rust/great_renaming, r=pcwalton** (6fcd8bf)
- **vec: use contains_managed instead of box header** (350a5c0)
- **simplify the exchange allocator** (b883d6a)
- **auto merge of #7490 : mozilla/rust/rollup, r=thestinger** (b4bb364)
- **auto merge of #7475 : Seldaek/rust/fixsplit, r=cmr** (c6b0d4f)
- **mk: clean-llvm for cross-compile** (0a3f6bc)
- **Fixes #7377** (7bcde87)
- **auto merge of #7452 : dotdash/rust/self_indirection, r=cmr** (df39932)
- **minor vec cleanup** (052f28a)
- **auto merge of #7449 : yichoi/rust/std_test, r=cmr** (439b13f)
- **auto merge of #7342 : alexcrichton/rust/assort-cleanup, r=cmr** (c86df3a)
- **Avoid double indirection for the "self" arg in methods** (765a290)
- **Remove mutability from unique boxes in the AST** (3bad712)
- **Removing a lot of usage of '&const'** (b29c368)
- **Warning cleanup** (71b1c6a)
- **Great renaming: propagate throughout the rest of the codebase** (1662bd3)
- **auto merge of #7442 : graydon/rust/clean-llvm-trigger, r=brson** (8883099)
- **Avoid extra casts for "self" arguments** (2a40c5d)
- **auto merge of #7441 : catamorphism/rust/testcases_2013-06-27, r=catamorphism** (0326b0a)
- **auto merge of #7363 : bblum/rust/soundness, r=nikomatsakis** (132cfcd)
- **auto merge of #7244 : bblum/rust/once, r=nikomatsakis** (c80e3ba)
- **Trade stack closure copyability for type soundness.** (d4722e5)
- **Make librust satisfy noncopyable stack closures** (98c169e)
- **'Borrow' stack closures rather than copying them (e.g., "|x|f(x)"), in prep for making them noncopyable.** (ff4ab9e)
- **Use more deriving(IterBytes) in librustc.** (89110fd)
- **Use more deriving(IterBytes) in libsyntax.** (75b80ba)
- **Change taskgroup key type to fn:Copy in prep for noncopyable stack closures.** (5784c09)
- **xfail-fast once fn run-pass tests** (e0788c7)
- **auto merge of #7439 : catamorphism/rust/cut-rustpkg-output, r=catamorphism** (a229c98)
- **auto merge of #7479 : mozilla/rust/rollup, r=thestinger** (4e78c1e)
- **Smarter warning in extra::term::Terminal.reset()** (ee7307e)
- **Remove unused variable** (a0c31ec)
- **Rename #[mutable] to #[no_freeze]** (22b7eb3)
- **Rename #[non_sendable] to #[no_send]** (4af7ebc)
- **auto merge of #7471 : msullivan/rust/default-methods, r=graydon** (d681bcc)
- **Optimize str::each_split_within when it is called with large limits** (647b4a6)
- **Drop the impl_id field from fn_ctxt.** (c05165b)
- **Drop an unused field from param_substs.** (5943118)
- **Improve handling of trait bounds on a trait in default methods.** (0252693)
- **auto merge of #7466 : thestinger/rust/passes, r=cmr** (e239346)
- **Rework vtable_res to not be flattened. It is now a list of the resolutions for each param.** (649b26f)
- **Actually resolve trait bounds on impls. Closes #7266.** (57ee34c)
- **Make calling methods parameterized on the trait work from default methods.** (817f980)
- **Make default method handling not choke on self region params. Closes #7341.** (a9e51f5)
- **copy the optimization passes from clang** (2bdc88b)
- **auto merge of #7437 : brson/rust/winver, r=brson** (5d2e565)
- **librustc: don't skip ahead when computing register types of SSEFloatVectors** (a2227f9)
- **auto merge of #7451 : cmr/rust/rewrite-each-path, r=pcwalton** (f44b951)
- **Rename Const/Owned in more places** (fae4a9e)
- **Rewrite each_path to allow performance improvements in the future.** (e015bee)
- **librustc: Rewrite reachability and forbid duplicate methods in type implementations.** (03ab635)
- **librustc: Remove the broken overloaded assign-ops from the language.** (a1531ed)
- **libsyntax: Remove "copy" pattern bindings from the language** (3fcd4dc)
- **librustc: Disallow "mut" from distributing over bindings.** (f9b5454)
- **librustc: Change "Owned" to "Send" everywhere** (1c0aa78)
- **librustc: Rename Const to Freeze** (1eec3bb)
- **librustc: Change Const to Freeze in the compiler** (d350981)
- **librustc: Rename Owned to Send in the compiler** (607b91d)
- **auto merge of #7436 : kballard/rust/term-dumb, r=cmr** (4e4e2f7)
- **auto merge of #7426 : thestinger/rust/zero-size-noncopyable, r=catamorphism** (811e045)
- **std: adjust run.rs test for android** (9b95b6d)
- **auto merge of #7397 : catamorphism/rust/rustpkg_path, r=catamorphism** (887ae82)
- **auto merge of #7272 : Aatch/rust/namegen_thunk, r=thestinger** (8600c18)
- **Remove useless namegen thunk** (a897a9a)
- **rustpkg: Implement RUST_PATH** (ea62fd1)
- **Update man page** (3fbea16)
- **rustpkg: Update manual** (d805859)
- **Rename #[no_drop_flag] to #[unsafe_no_drop_flag]** (dcf1dc0)
- **util: make NonCopyable 0 size (instead of 1 byte)** (779ee2a)
- **auto merge of #7410 : luqmana/rust/bare-self, r=catamorphism** (61dc776)
- **mk: Include all bins in the windows install** (6511fe4)
- **mk: Make windows installer work with -pre versions** (59905d1)
- **librustc: Always pass self ByRef.** (7673749)
- **auto merge of #7432 : michaelwoerister/rust/WP3, r=jdm** (927f454)

### Docs
- **docs: Mention rustpkg in release notes** (b854d6e)

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