1 use std::marker::PhantomData;
3 pub struct NfaBuilder<'brand> {
4 brand: PhantomData<&'brand mut &'brand mut ()>,
8 pub fn with<R, F: FnOnce(NfaBuilder<'_>) -> R>(f: F) -> R {
10 f(Self { brand: brand.lt })
11 //~^ ERROR lifetime may not live long enough
12 //~| ERROR lifetime may not live long enough
17 #[derive(Clone, Copy)]
18 pub struct Brand<'brand> {
19 lt: PhantomData<&'brand mut &'brand mut ()>,
23 pub fn with<R, F: FnOnce(Brand<'_>) -> R>(f: F) -> R {
24 f(Self { lt: PhantomData })