diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2021-12-14 13:14:25 +0100 |
|---|---|---|
| committer | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-11 22:07:33 +0100 |
| commit | 9b17e2d14d35f1c4eaf76ab6ad89c8ffe17889e5 (patch) | |
| tree | 3d61582ef6f31077494774fc1cc9d09e58d3dac8 | |
| parent | 78450d2d602b06d9b94349aaf8cece1a4acaf3a8 (diff) | |
| download | rust-9b17e2d14d35f1c4eaf76ab6ad89c8ffe17889e5.tar.gz rust-9b17e2d14d35f1c4eaf76ab6ad89c8ffe17889e5.zip | |
Add 2 tests
fixes #91139 fixes #91069
| -rw-r--r-- | src/test/ui/associated-types/issue-91069.rs | 24 | ||||
| -rw-r--r-- | src/test/ui/generic-associated-types/issue-91139.rs | 22 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/test/ui/associated-types/issue-91069.rs b/src/test/ui/associated-types/issue-91069.rs new file mode 100644 index 00000000000..109c2eed27a --- /dev/null +++ b/src/test/ui/associated-types/issue-91069.rs @@ -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() {} diff --git a/src/test/ui/generic-associated-types/issue-91139.rs b/src/test/ui/generic-associated-types/issue-91139.rs new file mode 100644 index 00000000000..2b82d2946b3 --- /dev/null +++ b/src/test/ui/generic-associated-types/issue-91139.rs @@ -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() {} |
