@@ -170,6 +170,34 @@ mod tests {
170170 }
171171 }
172172
173+ #[ test]
174+ fn no_layouts ( ) {
175+ let a = M :: zeros ( ( 5 , 5 ) ) ;
176+ let b = M :: zeros ( ( 5 , 5 ) . f ( ) ) ;
177+
178+ // 2D row/column matrixes
179+ let arow = a. slice ( s ! [ 0 ..1 , ..] ) ;
180+ let acol = a. slice ( s ! [ .., 0 ..1 ] ) ;
181+ let brow = b. slice ( s ! [ 0 ..1 , ..] ) ;
182+ let bcol = b. slice ( s ! [ .., 0 ..1 ] ) ;
183+ assert_layouts ! ( arow, CORDER , FORDER ) ;
184+ assert_not_layouts ! ( acol, CORDER , CPREFER , FORDER , FPREFER ) ;
185+ assert_layouts ! ( bcol, CORDER , FORDER ) ;
186+ assert_not_layouts ! ( brow, CORDER , CPREFER , FORDER , FPREFER ) ;
187+
188+ // 2D row/column matrixes - now made with insert axis
189+ for & axis in & [ Axis ( 0 ) , Axis ( 1 ) ] {
190+ let arow = a. slice ( s ! [ 0 , ..] ) . insert_axis ( axis) ;
191+ let acol = a. slice ( s ! [ .., 0 ] ) . insert_axis ( axis) ;
192+ let brow = b. slice ( s ! [ 0 , ..] ) . insert_axis ( axis) ;
193+ let bcol = b. slice ( s ! [ .., 0 ] ) . insert_axis ( axis) ;
194+ assert_layouts ! ( arow, CORDER , FORDER ) ;
195+ assert_not_layouts ! ( acol, CORDER , CPREFER , FORDER , FPREFER ) ;
196+ assert_layouts ! ( bcol, CORDER , FORDER ) ;
197+ assert_not_layouts ! ( brow, CORDER , CPREFER , FORDER , FPREFER ) ;
198+ }
199+ }
200+
173201 #[ test]
174202 fn skip_layouts ( ) {
175203 let a = M :: zeros ( ( 5 , 5 ) ) ;
0 commit comments