diff --git a/ices/98594.sh b/ices/98594.sh new file mode 100755 index 00000000..ca754967 --- /dev/null +++ b/ices/98594.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +rustc -Zverbose - <<'EOF' + + +#![allow(unused_parens)] +trait Foo { + type Assoc; +} + +fn called() +where + for<'b> fn(&'b ()): Foo, +{ +} + +fn caller() +where + (for<'a> fn(&'a ())): Foo, +{ + called() +} + +fn main() {} +EOF + diff --git a/ices/98598.rs b/ices/98598.rs new file mode 100644 index 00000000..e0a474aa --- /dev/null +++ b/ices/98598.rs @@ -0,0 +1,19 @@ +pub trait Foo { + type Output: Foo; + + fn baz() -> Self::Output; +} + +pub struct Bar; + +impl Foo for &Bar { + type Output = Bar; + + fn baz() -> Self::Output { + Foo::baz(); + + Self::Output {} + } +} + +pub fn main() {} diff --git a/ices/98604.sh b/ices/98604.sh new file mode 100755 index 00000000..e6a8f41b --- /dev/null +++ b/ices/98604.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +rustc --edition=2021 - <<'EOF' + +type AsyncFnPtr = Box< + dyn Fn() -> std::pin::Pin>>, +>; + +async fn test() {} + +#[allow(unused_must_use)] +fn main() { + Box::new(test) as AsyncFnPtr; +} + +EOF +