Skip to content

Conversation

Dylan-DPC-zz
Copy link

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

CDirkx and others added 30 commits November 7, 2020 16:15
Refactor `get_first_two_components` to `get_next_component`.

Fixes the following behaviour of `parse_prefix`:
 - series of separator bytes in a prefix are correctly parsed as a single separator
 - device namespace prefixes correctly recognize both `\\` and `/` as separators
gsgdt [https://crates.io/crates/gsgdt] is a crate which provides an
interface for stringly typed graphs. It also provides generation of
graphviz dot format from said graph.

Unverified

No user is associated with the committer email.

Unverified

No user is associated with the committer email.
functions that does allocations

Unverified

No user is associated with the committer email.

Unverified

No user is associated with the committer email.

Verified

This commit was signed with the committer’s verified signature.
Stupremee Justus K

Verified

This commit was signed with the committer’s verified signature.
Stupremee Justus K

Verified

This commit was signed with the committer’s verified signature.
Stupremee Justus K
Move intrinsics lowering pass from the optimization phase (where it
would not run if -Zmir-opt-level=0), to the drop lowering phase where it
runs unconditionally.

The implementation of those intrinsics in code generation and
interpreter is unnecessary. Remove it.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
make MIR graphviz generation use gsgdt

gsgdt [https://crates.io/crates/gsgdt] is a crate which provides an
interface for stringly typed graphs. It also provides generation of
graphviz dot format from said graph.

This is the first in a series of PRs on moving graphviz code out of rustc into normal crates and then implementating graph diffing on top of these crates.

r? ``@oli-obk``

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Refactor and fix `parse_prefix` on Windows

This PR is an extension of rust-lang#78692 as well as a general refactor of `parse_prefix`:

**Fixes**:
There are two errors in the current implementation of `parse_prefix`:

Firstly, in the current implementation only `\` is recognized as a separator character in device namespace prefixes. This behavior is only correct for verbatim paths; `"\\.\C:/foo"` should be parsed as `"C:"` instead of `"C:/foo"`.

Secondly, the current implementation only handles single separator characters. In non-verbatim paths a series of separator characters should be recognized as a single boundary, e.g. the UNC path `"\\localhost\\\\\\C$\foo"` should be parsed as `"\\localhost\\\\\\C$"` and then `UNC(server: "localhost", share: "C$")`, but currently it is not parsed at all, because it starts being parsed as `\\localhost\` and then has an invalid empty share location.

Paths like `"\\.\C:/foo"` and `"\\localhost\\\\\\C$\foo"` are valid on Windows, they are equivalent to just `"C:\foo"`.

**Refactoring**:
All uses of `&[u8]` within `parse_prefix` are extracted to helper functions and`&OsStr` is used instead. This reduces the number of places unsafe is used:
- `get_first_two_components` is adapted to the more general `parse_next_component` and used in more places
- code for parsing drive prefixes is extracted to `parse_drive`

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Remove memoization leftovers from constant evaluation machine

Closes rust-lang#79667

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…ikomatsakis

Move binder for dyn to each list item

This essentially changes `ty::Binder<&'tcx List<ExistentialTraitRef>>` to `&'tcx List<ty::Binder<ExistentialTraitRef>>`.

This is a first step in moving the `dyn Trait` representation closer to Chalk, which we've talked about in ``@rust-lang/wg-traits.``

r? ``@nikomatsakis``

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…on-panic, r=dtolnay

Fix overflow when converting ZST Vec to VecDeque

```rust
let v = vec![(); 100];
let queue = VecDeque::from(v);
println!("{:?}", queue);
```
This code will currently panic with a capacity overflow.
This PR resolves this issue and makes the code run fine.

Resolves rust-lang#78532

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…ulacrum

BTreeMap: more expressive local variables in merge

r? ``@Mark-Simulacrum``

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…ulacrum

BTreeSet: simplify implementation of pop_first/pop_last

…and stop it interfering in rust-lang#79245.
r? ``@Mark-Simulacrum``

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…Mark-Simulacrum

expand-yaml-anchors: Make the output directory separator-insensitive

Fixes rust-lang#75709

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Optimization for bool's PartialOrd impl

Fix rust-lang#80034.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
…Dylan-DPC

Always run intrinsics lowering pass

Move intrinsics lowering pass from the optimization phase (where it
would not run if -Zmir-opt-level=0), to the drop lowering phase where it
runs unconditionally.

The implementation of those intrinsics in code generation and
interpreter is unnecessary. Remove it.
@rustbot rustbot added the rollup A PR which is a rollup label Dec 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet