Skip to content

Commit

Permalink
Rollup merge of #122990 - SkiFire13:transmute-may-copy, r=jhpratt
Browse files Browse the repository at this point in the history
Clarify transmute example

The example claims using an iterator will copy the entire vector, but this is not true in practice thanks to internal specializations in the stdlib (see https://godbolt.org/z/cnxo3MYs5 for confirmation that this doesn't reallocate nor iterate over the vec's elements). Since neither the copy nor the optimization is guaranteed I opted for saying that they _may_ happen.
  • Loading branch information
matthiaskrgr authored Mar 25, 2024
2 parents fbb81fa + fb65ca1 commit e3fbaa8
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion library/core/src/intrinsics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1356,7 +1356,7 @@ extern "rust-intrinsic" {
/// let v_clone = v_orig.clone();
///
/// // This is the suggested, safe way.
/// // It does copy the entire vector, though, into a new array.
/// // It may copy the entire vector into a new one though, but also may not.
/// let v_collected = v_clone.into_iter()
/// .map(Some)
/// .collect::<Vec<Option<&i32>>>();
Expand Down

0 comments on commit e3fbaa8

Please sign in to comment.