diff --git a/ices/78652.rs b/ices/78652.rs new file mode 100644 index 00000000..da85876a --- /dev/null +++ b/ices/78652.rs @@ -0,0 +1,11 @@ +#![unstable(feature = "humans", issue = "none")] +#![feature(staged_api)] +struct Foo; +impl Foo { + #[stable(feature = "rust1", since = "1.0.0")] + const fn gated() -> u32 { + 42 + } +} + +fn main() {} diff --git a/ices/78653.rs b/ices/78653.rs new file mode 100644 index 00000000..a70d63db --- /dev/null +++ b/ices/78653.rs @@ -0,0 +1,3 @@ +fn main() { + yield || for _ in 0 {} +} diff --git a/ices/78671.rs b/ices/78671.rs new file mode 100644 index 00000000..ef9bbe80 --- /dev/null +++ b/ices/78671.rs @@ -0,0 +1,9 @@ +trait CollectionFamily { + type Member; +} + +fn floatify() { + Family as CollectionFamily +} + +fn main() {} diff --git a/ices/78721.rs b/ices/78721.rs new file mode 100644 index 00000000..bbc23430 --- /dev/null +++ b/ices/78721.rs @@ -0,0 +1,10 @@ +#![feature(impl_trait_in_bindings)] + +struct Bug { + V1: [(); { + let f: impl core::future::Future = async { 1 }; + 1 + }], +} + +fn main() {} diff --git a/ices/78722.rs b/ices/78722.rs new file mode 100644 index 00000000..58489268 --- /dev/null +++ b/ices/78722.rs @@ -0,0 +1,16 @@ +#![feature(type_alias_impl_trait)] +#![feature(impl_trait_in_bindings)] + +type F = impl core::future::Future; + +struct Bug { + V1: [(); { + fn concrete_use() -> F { + async {} + } + let f: F = async { 1 }; + 1 + }], +} + +fn main() {} diff --git a/ices/78806.sh b/ices/78806.sh new file mode 100644 index 00000000..222e844c --- /dev/null +++ b/ices/78806.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +rustc --crate-type=lib -Z mir-opt-level=1 -Z new-llvm-pass-manager=yes -Z unsound-mir-opts=yes -Z verify-llvm-ir=yes -Z validate-mir=yes -Z polonius=yes -Z polymorphize=yes -C debuginfo=2 -C opt-level=1 - << EOF +#![feature(no_core, lang_items)] +#![no_core] + +#[lang = "sized"] +trait Sized {} + +#[lang = "copy"] +trait Copy {} + +#[no_mangle] +fn test() { + &1; +} + +EOF