Auto merge of #88811 - jackh726:issue-88446, r=nikomatsakis
Use a HashMap for UniverseInfo in mir borrowck Fixes #88446 r? `@nikomatsakis`
This commit is contained in:
commit
d2dfb0eb8e
6 changed files with 59 additions and 15 deletions
35
src/test/ui/hrtb/issue-88446.rs
Normal file
35
src/test/ui/hrtb/issue-88446.rs
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
// check-pass
|
||||
|
||||
trait Yokeable<'a> {
|
||||
type Output: 'a;
|
||||
}
|
||||
impl<'a> Yokeable<'a> for () {
|
||||
type Output = ();
|
||||
}
|
||||
|
||||
trait DataMarker<'data> {
|
||||
type Yokeable: for<'a> Yokeable<'a>;
|
||||
}
|
||||
impl<'data> DataMarker<'data> for () {
|
||||
type Yokeable = ();
|
||||
}
|
||||
|
||||
struct DataPayload<'data, M>(&'data M);
|
||||
|
||||
impl DataPayload<'static, ()> {
|
||||
pub fn map_project_with_capture<M2, T>(
|
||||
_: for<'a> fn(
|
||||
capture: T,
|
||||
std::marker::PhantomData<&'a ()>,
|
||||
) -> <M2::Yokeable as Yokeable<'a>>::Output,
|
||||
) -> DataPayload<'static, M2>
|
||||
where
|
||||
M2: DataMarker<'static>,
|
||||
{
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let _: DataPayload<()> = DataPayload::<()>::map_project_with_capture::<_, &()>(|_, _| todo!());
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue