Crates.io | slice_trait |
lib.rs | slice_trait |
version | 0.2.0 |
source | src |
created_at | 2023-12-29 00:11:14.256858+00 |
updated_at | 2025-02-16 16:39:01.503032+00 |
description | A generic trait for any slice, with item as a type parameter |
homepage | |
repository | https://github.com/sigurd4/slice_trait |
max_upload_size | |
id | 1082813 |
size | 20,609 |
A trait for any slice, with item as an associated type.
This crate is a subset of the crate slice_ops
.
use slice_trait::*;
let a: &[i32] = [1, 2, 3].as_slice();
fn first<'a, S: Slice + ?Sized>(slice: &'a S) -> Option<&'a S::Item>
where
S::Item: Copy,
{
slice.as_slice().first()
}
assert_eq!(first(a), Some(&1));