Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants