Many iterators use * internally, for performance. This means they don't automatically implement Send or Sync, but many/most can.
Based on the regexp, \bIterator for, the following (non-compiler/non-test) files have Iterator implementations. We should look through them to find raw pointers etc. and ensure that they implement Send/Sync if there are such pointers. We can do it progressively, comment below if you feel like taking some files:
The &mut self of Iterator means that almost all iterators will be safe to implement Send and Sync.
Many iterators use
*internally, for performance. This means they don't automatically implementSendorSync, but many/most can.Based on the regexp,
\bIterator for, the following (non-compiler/non-test) files haveIteratorimplementations. We should look through them to find raw pointers etc. and ensure that they implementSend/Syncif there are such pointers. We can do it progressively, comment below if you feel like taking some files:The
&mut selfofIteratormeans that almost all iterators will be safe to implementSendandSync.