diff --git a/src/lib.rs b/src/lib.rs index 0caeabc..6223feb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -155,6 +155,20 @@ where } } +impl Aligned +where + A: Alignment, +{ + /// Changes the alignment of value to be at least A bytes + pub const fn new(value: T) -> Self { + Aligned { + _alignment: [], + value, + } + } +} + + impl Aligned where A: Alignment, @@ -525,6 +539,16 @@ fn sanity() { let _: &[u8] = y; } +#[test] +fn test_type_alias_new() { + type CacheLineAligned = Aligned; + + let aligned: Aligned = Aligned([0u8; 3]); + let aligned_new = CacheLineAligned::new([0u8; 3]); + + assert_eq!(aligned, aligned_new); +} + #[test] fn test_range_to() { let a: &Aligned = &Aligned::([0, 1, 2, 3]);