sandbox

14 commits
Updated 2026-04-25 12:39:37
src
src/main.rs
struct ComponentDescriptor;
struct ErasedMutPointer;

pub trait TDescriptors {
    const SIZE: usize;
}

pub trait TPointers {
    const SIZE: usize;
}

impl<const N: usize> TDescriptors for [ComponentDescriptor; N] {
    const SIZE: usize = N;
}

impl<const N: usize> TPointers for [ErasedMutPointer; N] {
    const SIZE: usize = N;
}

pub trait QueryBundle {
    type Descriptors: TDescriptors;
    type Pointers: TPointers;

    const DESCRIPTORS: Self::Descriptors;
    fn build(pointers: Self::Pointers) -> Self;
}

fn main() {}