Skip to content

Commit 756c50d

Browse files
authored
Merge pull request #92 from phil-opp/impl-dimension-for-slices
Implement Dimension for slices
2 parents 3a873ae + b991a92 commit 756c50d

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Unreleased
44

5+
### Added
6+
- Slices can now be used used where trait item `Dimension` is required.
7+
58
### Changed
69
- Dependencies are bumped to newest major versions; `ndarray` users may now
710
use both version `0.13` and version `0.14`.

src/dim.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ pub trait Dimension {
1919
}
2020
}
2121

22-
impl<'a, T: Dimension> Dimension for &'a T {
22+
impl<'a, T: Dimension + ?Sized> Dimension for &'a T {
2323
fn ndim(&self) -> usize {
2424
Dimension::ndim(*self)
2525
}
@@ -96,3 +96,13 @@ impl Dimension for Ix {
9696
vec![*self]
9797
}
9898
}
99+
100+
#[cfg(test)]
101+
pub mod tests {
102+
// compile-time test
103+
#[allow(dead_code)]
104+
pub fn slice_as_shape(shape: &[usize]) {
105+
let file = crate::File::create("foo.h5").unwrap();
106+
file.new_dataset::<u8>().create("Test", shape).unwrap();
107+
}
108+
}

0 commit comments

Comments
 (0)