grist_lens 1.2.4

Unsafe Nightly Ergonomic Lens API
Documentation
#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_cfg))]

pub mod lens;
pub mod meta;
pub mod optics;
// pub mod prism;

pub use lens::*;
pub use optics::*;

pub use meta::{FieldMarker as Field, StructMarker as Struct};

/// Defines how fields are being used in `Optic`.
#[derive(PartialEq, Eq, Debug, Clone, Copy)]
pub enum Usage {
    /// Not being used
    None,
    /// Only being referenced with usize being the amount of times
    Ref(usize),
    /// Being mutably referenced
    Mut,
}