@@ -503,6 +503,7 @@ template transposed(Dimensions...)
503
503
}
504
504
else
505
505
{
506
+ import core.lifetime : move;
506
507
enum hasRowStride = [Dimensions].any! (a => a + 1 == s);
507
508
static if (kind == Universal || kind == Canonical && ! hasRowStride)
508
509
{
@@ -512,12 +513,12 @@ template transposed(Dimensions...)
512
513
static if (hasRowStride)
513
514
{
514
515
import mir.ndslice.topology: universal;
515
- auto slice = _slice.universal;
516
+ auto slice = _slice.move. universal;
516
517
}
517
518
else
518
519
{
519
520
import mir.ndslice.topology: canonical;
520
- auto slice = _slice.canonical;
521
+ auto slice = _slice.move. canonical;
521
522
}
522
523
mixin DimensionsCountCTError;
523
524
foreach (i, dimension; Dimensions)
@@ -535,8 +536,9 @@ template transposed(Dimensions...)
535
536
// /ditto
536
537
auto transposed (Iterator, size_t N, SliceKind kind, size_t M)(Slice! (Iterator, N, kind) _slice, size_t [M] dimensions... )
537
538
{
539
+ import core.lifetime : move;
538
540
import mir.ndslice.topology: universal;
539
- auto slice = _slice.universal;
541
+ auto slice = _slice.move. universal;
540
542
541
543
mixin (DimensionsCountRTError);
542
544
foreach (dimension; dimensions)
@@ -628,8 +630,9 @@ Returns:
628
630
+/
629
631
Slice! (Iterator, N, Universal) allReversed(Iterator, size_t N, SliceKind kind)(Slice! (Iterator, N, kind) _slice)
630
632
{
633
+ import core.lifetime : move;
631
634
import mir.ndslice.topology: universal;
632
- auto slice = _slice.universal;
635
+ auto slice = _slice.move. universal;
633
636
foreach (dimension; Iota! N)
634
637
{
635
638
mixin (_reversedCode);
0 commit comments