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 4 pull requests #32628

Merged
merged 10 commits into from
Mar 31, 2016
Merged

Rollup of 4 pull requests #32628

merged 10 commits into from
Mar 31, 2016

Conversation

oli-obk and others added 10 commits March 30, 2016 11:10
Originally added in 8fe9e4d.

Everything appears to build fine without the coercions, so they can
presumably be removed.
This works by adding a boolean flag, `continue_after_error`, to
`syntax::errors::Handler` that can be imperatively set to `true` or
`false` via a new `fn set_continue_after_error`.

The flag starts off true (since we generally try to recover from
compiler errors, and `Handler` is shared across all phases).

Then, during the `phase_1_parse_input`, we consult the setting of the
`-Z continue-parse-after-error` debug flag to determine whether we
should leave the flag set to `true` or should change it to `false`.

----

(We might consider adding a debugflag to do such aborts in other
places where we are currently attempting recovery, such as resolve,
but I think the parser is the really important case to handle in the
face of rust-lang#31994 and the parser bugs of varying degrees that were
injected by parse error recovery.)
parser recovery (so that expected errors match up)

I'm opting into parser recovery in all these cases out of expediency,
not because the error messages you get with recovery enabled are
actually all that usable in all cases listed.
…hton

move `const_eval` and `check_match` out of `librustc` into their own crate

r? @arielb1
…ebugflag, r=nrc

Gate parser recovery via debugflag

Gate parser recovery via debugflag

Put in `-Z continue_parse_after_error`

This works by adding a method, `fn abort_if_no_parse_recovery`, to the
diagnostic handler in `syntax::errors`, and calling it after each
error is emitted in the parser.

(We might consider adding a debugflag to do such aborts in other
places where we are currently attempting recovery, such as resolve,
but I think the parser is the really important case to handle in the
face of rust-lang#31994 and the parser bugs of varying degrees that were
injected by parse error recovery.)

r? @nikomatsakis
…lexcrichton

Remove no longer necessary coercions to fn pointer types.

Originally added in 8fe9e4d.

Everything appears to build fine without the coercions, so they can
presumably be removed.
Book: Fix phrasing: “an associated type” → “an object with an associated type”.

From what I understood, `graph` is the object from which we create a trait object, and the associated types are `Graph::N` and `Graph::E`.
@rust-highfive
Copy link
Collaborator

r? @pnkfelix

(rust_highfive has picked a reviewer for you, use r? to override)

@Manishearth
Copy link
Member Author

@bors r+ p=20

@bors
Copy link
Contributor

bors commented Mar 30, 2016

📌 Commit 458fae7 has been approved by Manishearth

@bors
Copy link
Contributor

bors commented Mar 30, 2016

⌛ Testing commit 458fae7 with merge 30a3849...

bors added a commit that referenced this pull request Mar 30, 2016
Rollup of 4 pull requests

- Successful merges: #32259, #32494, #32612, #32618
- Failed merges: #32562
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.

8 participants