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

Change how the input from rusti is formatted to allow duplicate definitions #6685

Closed
wants to merge 3 commits into from

Conversation

alexcrichton
Copy link
Member

Closes #5675, #6617, and #6772

This changes each recorded declaration/stmt to be in its own block to allow for duplicate names. It also fixes #6617 while I was at it by changing the generic print to pp

@kud1ing
Copy link

kud1ing commented May 22, 2013

Cool.

I wonder whether we should pick a command name like :printstarting with a colon, which guarantees no future collisions with function names. ghci has a :print command.

match expr.node {
ast::expr_assign(*) |
ast::expr_assign_op(*) |
_ => {}
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason that this whole match arm can't be replaced with _ => {} ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a very good question. I originally didn't even look at it because it's what was there before. Looking at this though, this would cause the following input to fail in rusti:

let mut a = 4;
a = 5;
assert!(a == 5);

The assignment operation wouldn't be recorded into the history, so I'll add a commit to this in a second which fixes that bug.

@alexcrichton
Copy link
Member Author

I have better ideas for what to do with rusti after recent discussions on the mailing list.

flip1995 pushed a commit to flip1995/rust that referenced this pull request Feb 11, 2021
Add new lint `filter_map_identity`

<!--
Thank you for making Clippy better!

We're collecting our changelog from pull request descriptions.
If your PR only includes internal changes, you can just write
`changelog: none`. Otherwise, please write a short comment
explaining your change.

If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.

If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.

- \[x] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`

[lint_naming]: https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints

Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.

Delete this line and everything above before opening your PR.
-->

This commit adds a new lint named filter_map_identity.
This lint is the same as `flat_map_identity` except that it checks for the usage of `filter_map`.

---

Closes rust-lang#6643

changelog: Added a new lint: `filter_map_identity`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants