@@ -503,6 +503,7 @@ template transposed(Dimensions...)
503503 }
504504 else
505505 {
506+ import core.lifetime : move;
506507 enum hasRowStride = [Dimensions].any! (a => a + 1 == s);
507508 static if (kind == Universal || kind == Canonical && ! hasRowStride)
508509 {
@@ -512,12 +513,12 @@ template transposed(Dimensions...)
512513 static if (hasRowStride)
513514 {
514515 import mir.ndslice.topology: universal;
515- auto slice = _slice.universal;
516+ auto slice = _slice.move. universal;
516517 }
517518 else
518519 {
519520 import mir.ndslice.topology: canonical;
520- auto slice = _slice.canonical;
521+ auto slice = _slice.move. canonical;
521522 }
522523 mixin DimensionsCountCTError;
523524 foreach (i, dimension; Dimensions)
@@ -535,8 +536,9 @@ template transposed(Dimensions...)
535536// /ditto
536537auto transposed (Iterator, size_t N, SliceKind kind, size_t M)(Slice! (Iterator, N, kind) _slice, size_t [M] dimensions... )
537538{
539+ import core.lifetime : move;
538540 import mir.ndslice.topology: universal;
539- auto slice = _slice.universal;
541+ auto slice = _slice.move. universal;
540542
541543 mixin (DimensionsCountRTError);
542544 foreach (dimension; dimensions)
@@ -628,8 +630,9 @@ Returns:
628630+/
629631Slice! (Iterator, N, Universal) allReversed(Iterator, size_t N, SliceKind kind)(Slice! (Iterator, N, kind) _slice)
630632{
633+ import core.lifetime : move;
631634 import mir.ndslice.topology: universal;
632- auto slice = _slice.universal;
635+ auto slice = _slice.move. universal;
633636 foreach (dimension; Iota! N)
634637 {
635638 mixin (_reversedCode);
0 commit comments