Skip to content

Commit 8500fb9

Browse files
committed
Issue #46555 - Making IndexVec Send if its contents are Send
1 parent d1364a6 commit 8500fb9

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/librustc_data_structures/indexed_vec.rs

+4
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,10 @@ pub struct IndexVec<I: Idx, T> {
330330
_marker: PhantomData<Fn(&I)>
331331
}
332332

333+
// Whether `IndexVec` is `Send` depends only on the data,
334+
// not the phantom data.
335+
unsafe impl<I: Idx, T> Send for IndexVec<I, T> where T: Send {}
336+
333337
impl<I: Idx, T: serialize::Encodable> serialize::Encodable for IndexVec<I, T> {
334338
fn encode<S: serialize::Encoder>(&self, s: &mut S) -> Result<(), S::Error> {
335339
serialize::Encodable::encode(&self.raw, s)

0 commit comments

Comments
 (0)