mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 01:04:03 +00:00
Rollup merge of #91908 - matthiaskrgr:ices, r=jackh726
Add 2 tests fixes #91139 fixes #91069
This commit is contained in:
commit
661be4c782
24
src/test/ui/associated-types/issue-91069.rs
Normal file
24
src/test/ui/associated-types/issue-91069.rs
Normal file
@ -0,0 +1,24 @@
|
||||
// check-pass
|
||||
|
||||
pub trait Associate {
|
||||
type Associated;
|
||||
}
|
||||
|
||||
pub struct Wrap<'a> {
|
||||
pub field: &'a i32,
|
||||
}
|
||||
|
||||
pub trait Create<T> {
|
||||
fn create() -> Self;
|
||||
}
|
||||
|
||||
pub fn oh_no<'a, T>()
|
||||
where
|
||||
Wrap<'a>: Associate,
|
||||
<Wrap<'a> as Associate>::Associated: Create<T>,
|
||||
{
|
||||
<Wrap<'a> as Associate>::Associated::create();
|
||||
}
|
||||
|
||||
|
||||
pub fn main() {}
|
22
src/test/ui/generic-associated-types/issue-91139.rs
Normal file
22
src/test/ui/generic-associated-types/issue-91139.rs
Normal file
@ -0,0 +1,22 @@
|
||||
// check-pass
|
||||
|
||||
#![feature(generic_associated_types)]
|
||||
|
||||
trait Foo<T> {
|
||||
type Type<'a>
|
||||
where
|
||||
T: 'a;
|
||||
}
|
||||
|
||||
impl<T> Foo<T> for () {
|
||||
type Type<'a>
|
||||
where
|
||||
T: 'a,
|
||||
= ();
|
||||
}
|
||||
|
||||
fn foo<T>() {
|
||||
let _: for<'a> fn(<() as Foo<T>>::Type<'a>, &'a T) = |_, _| ();
|
||||
}
|
||||
|
||||
pub fn main() {}
|
Loading…
Reference in New Issue
Block a user