Skip to content

Commit c824f81

Browse files
committed
add static asserts for byDim return values, add more move
1 parent a7abdd9 commit c824f81

File tree

2 files changed

+86
-30
lines changed

2 files changed

+86
-30
lines changed

source/mir/ndslice/dynamic.d

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
536537
auto 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
+/
629631
Slice!(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

Comments
 (0)