| //@ run-pass | |
| fn main() { | |
| remove_axis(&3, 0); | |
| } | |
| trait Dimension { | |
| fn slice(&self) -> &[usize]; | |
| } | |
| impl Dimension for () { | |
| fn slice(&self) -> &[usize] { &[] } | |
| } | |
| impl Dimension for usize { | |
| fn slice(&self) -> &[usize] { | |
| unsafe { | |
| ::std::slice::from_raw_parts(self, 1) | |
| } | |
| } | |
| } | |
| fn remove_axis(value: &usize, axis: usize) -> () { | |
| let tup = (); | |
| let mut it = tup.slice().iter(); | |
| for (i, _) in value.slice().iter().enumerate() { | |
| if i == axis { | |
| continue; | |
| } | |
| it.next(); | |
| } | |
| } |