about summary refs log tree commit diff
path: root/tests/crashes/122710.rs
blob: 16911fd522f8ef6c4d638a09119d95bea478e8f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//@ known-bug: #122710
use std::marker::PhantomData;

pub trait BarTrait<T> {
  fn bar(self, _: T);
}

impl<T, F: Fn(T)> BarTrait<T> for F {
  fn bar(self, _: T) { }
}

impl<T: for<'a> MyTrait<'a>> BarTrait<T> for () {
  fn bar(self, _: T) { }
}

pub trait MyTrait<'a> { }

impl<'a> MyTrait<'a> for PhantomData<&'a ()> { }

fn foo() {
  ().bar(PhantomData);
}

pub fn main() {}