Add os::split_paths

Adds a platform-specific function, `split_paths` to the `os` module. This
function can be used to parse PATH-like environment variables according to
local platform conventions.

Closes #14352.
Fix outgoing link to snappy in the FFI guide

Google have migrated snappy to GitHub.
Remove deprecated owned vector from complement cheatsheet.
Remove deprecated owned vector from intro.
Remove deprecated owned vector from macro guide.
Remove deprecated owned vector from rust.md
Remove deprecated owned vector from tutorial.
Add a comment missing from 5aff0e7

For some reason, I had this comment in my local tree but not in the
branch I sent with the PR.
auto merge of #14544 : aturon/rust/issue-14352, r=alexcrichton

Adds a platform-specific function, `split_paths` to the `os` module. This
function can be used to parse PATH-like environment variables according to
local platform conventions.

Closes #14352.
Remove libworkcache

This was only ever used by rustpkg and is very unmaintained.

[breaking-change]
auto merge of #14553 : reem/rust/nuke-owned-vectors, r=alexcrichton

I removed all remaining deprecated owned vectors from the docs. All example tests pass.
auto merge of #14555 : tomjakubowski/rust/fix-snappy-link, r=alexcrichton

Google have migrated snappy to GitHub.
Use RHS's struct def ID for error messages in pattern matching

Fixes #14541
auto merge of #14556 : sfackler/rust/kill-workcache, r=alexcrichton

This was only ever used by rustpkg and is very unmaintained.

[breaking-change]
Remove unnecessary allocations / clones during method lookup

By dropping the intermediate vector that holds the relevant candidates
including duplicates and directly building the vector that has the
duplicates removed we can eliminate quite a few allocations. This
reduces the times for type checking by 5-10% (measured with libstd,
libsyntax and librustc).
auto merge of #14557 : zwarich/rust/missing-comment, r=alexcrichton

For some reason, I had this comment in my local tree but not in the
branch I sent with the PR.
auto merge of #14563 : dotdash/rust/clone_kill, r=huonw

By dropping the intermediate vector that holds the relevant candidates
including duplicates and directly building the vector that has the
duplicates removed we can eliminate quite a few allocations. This
reduces the times for type checking by 5-10% (measured with libstd,
libsyntax and librustc).
Fix broken markup in query_to_str documentation
auto merge of #14565 : fhartwig/rust/master, r=sfackler
auto merge of #14562 : jakub-/rust/issue-14541, r=alexcrichton

Fixes #14541