flense 0.2.2

Purpose-oriented lensing
Documentation
use flense::prelude::*;

enum Position {}
impl Field for Position {
    type Type = [f32; 3];
}

enum Color {}
impl Field for Color {
    type Type = [f32; 3];
}

// SAFETY: reflexive
unsafe impl Adapter<Position> for [f32; 3] {
    const OFFSET: usize = 0;
}
// SAFETY: reflexive
unsafe impl Adapter<Color> for [f32; 3] {
    const OFFSET: usize = 0;
}

fn main() {
    let mut a: [f32; 3] = [0.0; 3];
    let _l: LensMut<'_, (Position, Color)> = (&mut a).lens_mut();
}