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

add pop method to the Map trait #5393

Closed
thestinger opened this issue Mar 15, 2013 · 1 comment
Closed

add pop method to the Map trait #5393

thestinger opened this issue Mar 15, 2013 · 1 comment

Comments

@thestinger
Copy link
Contributor

Like remove, but returning the value from the removed key-value pair.

@ghost ghost assigned thestinger Mar 15, 2013
bors added a commit that referenced this issue May 7, 2013
Closes #5392 and #5393

I implemented the pop/swap methods for TrieMap/TreeMap/SmallIntMap, and I also updated all of them such that pop isn't just a remove/insert, but rather it's all done in one operation.

One thing I did notice is that with default methods it'd be really nice to define `insert` and `remove` in terms of `pop` and `swap` (or vice versa, just to have them available).
@alexcrichton
Copy link
Member

Closed in #6236

@thestinger thestinger removed their assignment Jun 16, 2014
oli-obk pushed a commit to oli-obk/rust that referenced this issue May 2, 2020
Make use of more diagnostic items

This makes use of some (not all) already existing diagnostic items. Specifically:

* 79982a2: `core::mem::uninitialized`, `core::mem::zeroed`, `alloc::sync::Arc`, `alloc::sync::Rc`
* 83874d0: `Option` and `Result`

cc rust-lang#5393

changelog: none
oli-obk pushed a commit to oli-obk/rust that referenced this issue May 2, 2020
…hiaskrgr

Use more diagnostic items

In particular for:

* `VecDeque`
* `String`
* `Mutex`
* `HashMap`
* `HashSet`

cc rust-lang#71414 rust-lang#5393

---

changelog: none
flip1995 pushed a commit to flip1995/rust that referenced this issue Mar 11, 2021
…anishearth

migrate paths to newly-added diagnostic items

This gets rid of the following paths:
  * OS_STRING
  * TO_OWNED
  * TO_STRING

Removes some usages of:
 * PATH_BUF

Per rust-lang#5393

also removes unneeded `is_ty_param_path` from `clippy_lints::types` and relocates `is_ty_param_lang_item` and `is_ty_param_diagnostic_item` to `clippy_utils`.

changelog: none
flip1995 pushed a commit to flip1995/rust that referenced this issue Mar 25, 2021
Use sym::Iterator instead of paths::ITERATOR

Since `sym::Iterator` was added to diagnostic_item, it's time to remove `paths::ITERATOR`.
ref: rust-lang#5393

changelog: Add `is_trait_method` to `clippy_utils`
changelog: Remove `paths::ITERATOR`
flip1995 pushed a commit to flip1995/rust that referenced this issue Apr 22, 2021
Remove paths::STD_PTR_NULL

Related to rust-lang#5393

changelog: none
flip1995 pushed a commit to flip1995/rust that referenced this issue May 20, 2021
flip1995 pushed a commit to flip1995/rust that referenced this issue Jul 29, 2021
…s, r=flip1995

Use diagnostic items where possible

Clippy still uses a bunch of paths in places that could easily use already defined diagnostic items. This PR updates all references to such paths and also removes a bunch of them that are no longer needed after this cleanup.

Some paths are also used to construct new paths and can therefore not be removed that easily. I've added a doc comment to those instances that recommends the use of the diagnostic item where possible.

And that's it, cleaning crew signing off 🧹 🗑️

---

changelog: none

(only internal improvements)

cc: rust-lang#5393
flip1995 pushed a commit to flip1995/rust that referenced this issue Feb 24, 2022
Replace a few paths with diagnostic items

A fairly small change towards rust-lang#5393

changelog: none
flip1995 pushed a commit to flip1995/rust that referenced this issue Feb 26, 2022
Replace some more paths with diagnostic items

cc rust-lang#5393

Replaces the macro & mem paths, and catches a couple others that were unused

changelog: none
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

No branches or pull requests

2 participants