4 // Regression test to ensure we handle debruijn indices correctly in projection
5 // normalization under binders. Found in crater run for #85499
7 use std::future::Future;
9 pub enum Outcome<S, E> {
13 pub struct Request<'r> {
14 _marker: std::marker::PhantomData<&'r ()>,
16 pub trait FromRequest<'r>: Sized {
18 fn from_request<'life0>(
19 request: &'r Request<'life0>,
20 ) -> Pin<Box<dyn Future<Output = Outcome<Self, Self::Error>>>>;
23 _marker: std::marker::PhantomData<T>,
25 impl<'r, T: FromRequest<'r>> S<T> {
26 pub async fn from_request(request: &'r Request<'_>) {
27 let _ = T::from_request(request).await;