Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #57607

Merged
merged 35 commits into from Jan 15, 2019

Conversation

Projects
None yet
8 participants
@Centril
Copy link
Contributor

Centril commented Jan 14, 2019

Successful merges:

  • #57043 (Fix poor worst case performance of set intersection)
  • #57480 (Clean up and fix a bug in query plumbing)
  • #57481 (provide suggestion for invalid boolean cast)
  • #57540 (Modify some parser diagnostics to continue evaluating beyond the parser)
  • #57570 (Querify local plugin_registrar_fn and proc_macro_decls_static)
  • #57572 (Unaccept extern_in_paths)
  • #57585 (Recover from item trailing semicolon)
  • #57589 (Add a debug_assert to Vec::set_len)

Failed merges:

r? @ghost

ssomers and others added some commits Dec 21, 2018

Fix poor worst case performance of set intersection (and union, somew…
…hat) on asymmetrically sized sets and extend unit tests slightly beyond that
provide suggestion for invalid boolean cast
Also, don't suggest comparing to zero for non-numeric expressions.
Retain original pass order
It shouldn't matter, but hey - better safe than sorry!
Rollup merge of #57043 - ssomers:master, r=alexcrichton
Fix poor worst case performance of set intersection

Specifically, intersection of asymmetrically sized sets when the large set is on the left. See also the [latest answer on stackoverflow](https://stackoverflow.com/questions/35439376/python-set-intersection-is-faster-then-rust-hashset-intersection).

Also applied to the union member, where the effect is much less but still measurable.

Formatted the changed code only, does not increase the error count reported by tidy check, and tried to adhere to the spirit of the unit tests.
Rollup merge of #57480 - Zoxc:query-fix, r=michaelwoerister
Clean up and fix a bug in query plumbing

r? @michaelwoerister
Rollup merge of #57481 - euclio:bool-cast-suggestion, r=estebank
provide suggestion for invalid boolean cast

Also, don't suggest comparing to zero for non-numeric expressions.

Centril added some commits Jan 14, 2019

Rollup merge of #57540 - estebank:eval-more, r=petrochenkov
Modify some parser diagnostics to continue evaluating beyond the parser

Continue evaluating further errors after parser errors on:
 - trailing type argument attribute
 - lifetime in incorrect location
 - incorrect binary literal
 - missing `for` in `impl Trait for Foo`
 - type argument in `where` clause
 - incorrect float literal
 - incorrect `..` in pattern
 - associated types
 - incorrect discriminator value variant error

and others. All of these were found by making `continue-parse-after-error` `true` by default to identify errors that would need few changes. There are now only a handful of errors that have any change with `continue-parse-after-error` enabled.

These changes make it so `rust` _won't_ stop evaluation after finishing parsing, enabling type checking errors to be displayed on the existing code without having to fix the parse errors.

Each commit has an individual diagnostic change with their corresponding tests.

CC #48724.
Rollup merge of #57570 - Xanewok:querify-some, r=Zoxc
Querify local `plugin_registrar_fn` and `proc_macro_decls_static`

Instead of calculating them as part of the `Session`, we do that in the query system.
It's also nice that these queries are already defined for external crates - here, we provide the queries for the local crate.

r? @nikomatsakis
Rollup merge of #57572 - Centril:unaccept-extern-in-path, r=petrochenkov
Unaccept `extern_in_paths`

Based on completed fcp-close in #55600, this removes `extern_in_path` (e.g. `extern::foo::bar`) from the language. The changes are primarily reversing 32db83b.

Closes #55600

r? @petrochenkov
Rollup merge of #57589 - scottmcm:vec-set_len-debug_assert, r=alexcri…
…chton

Add a debug_assert to Vec::set_len

Following the precedent of #52972, which found llogiq/bytecount#42.

(This may well make a test fail; let's see what Travis says.)
@Centril

This comment has been minimized.

Copy link
Contributor Author

Centril commented Jan 14, 2019

@bors r+ p=8

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Jan 14, 2019

📌 Commit 8a62e39 has been approved by Centril

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Jan 14, 2019

⌛️ Testing commit 8a62e39 with merge aea9f0a...

bors added a commit that referenced this pull request Jan 14, 2019

Auto merge of #57607 - Centril:rollup, r=Centril
Rollup of 8 pull requests

Successful merges:

 - #57043 (Fix poor worst case performance of set intersection)
 - #57480 (Clean up and fix a bug in query plumbing)
 - #57481 (provide suggestion for invalid boolean cast)
 - #57540 (Modify some parser diagnostics to continue evaluating beyond the parser)
 - #57570 (Querify local `plugin_registrar_fn` and `proc_macro_decls_static`)
 - #57572 (Unaccept `extern_in_paths`)
 - #57585 (Recover from item trailing semicolon)
 - #57589 (Add a debug_assert to Vec::set_len)

Failed merges:

r? @ghost
@bors

This comment has been minimized.

Copy link
Contributor

bors commented Jan 15, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: Centril
Pushing aea9f0a to master...

@bors bors merged commit 8a62e39 into rust-lang:master Jan 15, 2019

1 check passed

homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.