blob: 4485ea14712aabe50710b55d5fa0988e5fa14b87 [file] [log] [blame]
//@ check-pass
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
use std::marker::PhantomData;
pub trait Bytes {
const BYTES: usize;
}
#[derive(Clone, Debug)]
pub struct Conster<OT>
where
OT: Bytes,
[(); OT::BYTES]: Sized,
{
_offset_type: PhantomData<fn(OT) -> OT>,
}
impl<OT> Conster<OT>
where
OT: Bytes,
[(); OT::BYTES]: Sized,
{
pub fn new() -> Self {
Conster { _offset_type: PhantomData }
}
}
pub fn make_conster<COT>() -> Conster<COT>
where
COT: Bytes,
[(); COT::BYTES]: Sized,
{
Conster::new()
}
fn main() {}