Skip to content

Remove unnecessary VecLike trait. #35

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

Closed
wants to merge 2 commits into from
Closed

Remove unnecessary VecLike trait. #35

wants to merge 2 commits into from

Conversation

frewsxcv
Copy link
Contributor

@frewsxcv frewsxcv commented Oct 3, 2016

This change is Reviewable

@frewsxcv
Copy link
Contributor Author

frewsxcv commented Oct 3, 2016

It's not clear to me that this trait serves any purpose. Am I overlooking something?

}
pub fn is_empty(&self) -> bool {
self.len == 0
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These methods are available via Deref, right?

@mbrubeck
Copy link
Collaborator

mbrubeck commented Oct 3, 2016

This is used to write generic code that works with both Vec<T> and SmallVec<T>. It's used in Servo's style crate, for example. Closing because we can't remove this without breaking existing code.

@mbrubeck mbrubeck closed this Oct 3, 2016
@frewsxcv
Copy link
Contributor Author

frewsxcv commented Oct 3, 2016

via IRC:

19:07 <ghservo> [rust-smallvec] frewsxcv opened pull request #35: Remove unnecessary `VecLike` trait. (master...rm-veclike) https://git.io/vPOao
19:10 <frewsxcv> Corey Someone want to sanity check (and/or review) that PR? ^
19:11 <•mbrubeck> frewsxcv: VecLike is used in the style crate
19:11 <frewsxcv> Corey Maybe it should live in the style crate?
19:11 Good to know though
19:12 <•mbrubeck> frewsxcv: It lets you write code that's generic over Vec<T> and SmallVec<T>, so it seems generally useful
19:15 <frewsxcv> Corey Fair enough.

@frewsxcv frewsxcv deleted the rm-veclike branch October 3, 2016 23:16
@Ms2ger
Copy link
Contributor

Ms2ger commented Oct 4, 2016

I guess it would be fine to move to style.

@mbrubeck
Copy link
Collaborator

We may want to revisit this, since the style crate no longer needs this (servo/servo#19424), and code that does use it could be converted to use standard traits like Extend instead.

bors-servo pushed a commit to servo/servo that referenced this pull request Nov 29, 2017
Remove unused generic from push_applicable_declarations

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/19424)
<!-- Reviewable:end -->
bors-servo pushed a commit that referenced this pull request Nov 29, 2017
Deprecate the VecLike trait

This is an update of PR #35.

This trait is redundant with existing traits like `Extend` and `Deref`.  Its purpose is unclear (you can do a few things with it, but not much) and the one use case I know of has been removed (servo/servo#19424).

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/rust-smallvec/74)
<!-- Reviewable:end -->
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Nov 30, 2017
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : fd711a25e3eeb999712269c39a74c99981975a63
xeonchen pushed a commit to xeonchen/gecko-cinnabar that referenced this pull request Nov 30, 2017
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c
JerryShih pushed a commit to JerryShih/gecko-dev that referenced this pull request Dec 5, 2017
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Oct 2, 2019
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c

UltraBlame original commit: 6b3c508ccd771b8e529679a7680e7ba03d40ffca
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Oct 2, 2019
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c

UltraBlame original commit: 6b3c508ccd771b8e529679a7680e7ba03d40ffca
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Oct 2, 2019
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c

UltraBlame original commit: 6b3c508ccd771b8e529679a7680e7ba03d40ffca
bhearsum pushed a commit to mozilla-releng/staging-firefox that referenced this pull request May 1, 2025
…arations (from mbrubeck:veclike); r=emilio

This function is only ever used with one type.

This gets rid of the only use of the `smallvec::VecLike` trait, which we may want to deprecate (servo/rust-smallvec#35).  If we do need to make this function generic in the future, we can do it using standard traits instead.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because they are removing unused code

Source-Repo: https://github.com/servo/servo
Source-Revision: dbe3136a055008d2c27c7d96f20e0c9ce4b1cb1c
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.

3 participants