diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-02-12 09:26:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-12 09:26:20 +0100 |
| commit | 661be4c782413576aae48fc4267b91bb1ad39fa0 (patch) | |
| tree | 617f2ecc64c6300062d78d0774a8cda2806b9414 | |
| parent | 9cdefd763b910ffd1d42233a8c752ab5fd84ca4d (diff) | |
| parent | 9b17e2d14d35f1c4eaf76ab6ad89c8ffe17889e5 (diff) | |
| download | rust-661be4c782413576aae48fc4267b91bb1ad39fa0.tar.gz rust-661be4c782413576aae48fc4267b91bb1ad39fa0.zip | |
Rollup merge of #91908 - matthiaskrgr:ices, r=jackh726
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() {} |
