From 9918693037dce8aa4bb6f08741b6812923486c18 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 19 Jun 2024 11:26:03 +0200 Subject: Merging upstream version 1.76.0+dfsg1. Signed-off-by: Daniel Baumann --- .../projection/param-env-trait-candidate-1.rs | 14 +++++++++++ .../projection/param-env-trait-candidate-2.rs | 29 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/ui/traits/next-solver/projection/param-env-trait-candidate-1.rs create mode 100644 tests/ui/traits/next-solver/projection/param-env-trait-candidate-2.rs (limited to 'tests/ui/traits/next-solver/projection') diff --git a/tests/ui/traits/next-solver/projection/param-env-trait-candidate-1.rs b/tests/ui/traits/next-solver/projection/param-env-trait-candidate-1.rs new file mode 100644 index 000000000..b337c0673 --- /dev/null +++ b/tests/ui/traits/next-solver/projection/param-env-trait-candidate-1.rs @@ -0,0 +1,14 @@ +// check-pass +// compile-flags: -Znext-solver + +// See https://github.com/rust-lang/trait-system-refactor-initiative/issues/1 +// a minimization of a pattern in core. +fn next, U>(t: &mut T) -> Option { + t.next() +} + +fn foo(t: &mut T) { + let _: Option = next(t); +} + +fn main() {} diff --git a/tests/ui/traits/next-solver/projection/param-env-trait-candidate-2.rs b/tests/ui/traits/next-solver/projection/param-env-trait-candidate-2.rs new file mode 100644 index 000000000..db8dc1eb9 --- /dev/null +++ b/tests/ui/traits/next-solver/projection/param-env-trait-candidate-2.rs @@ -0,0 +1,29 @@ +// check-pass +// compile-flags: -Znext-solver + +// See https://github.com/rust-lang/trait-system-refactor-initiative/issues/1, +// a minimization of a pattern in core. + +trait Iterator { + type Item; +} + +struct Flatten(I); + +impl Iterator for Flatten +where + I: Iterator, +{ + type Item = U; +} + +fn needs_iterator() {} + +fn environment() +where + J: Iterator, +{ + needs_iterator::>(); +} + +fn main() {} -- cgit v1.2.3