Auto merge of #77372 - jonas-schievink:rollup-e5bdzga, r=jonas-schievink
Rollup of 12 pull requests Successful merges: - #77037 (more tiny clippy cleanups) - #77233 (BTreeMap: keep an eye out on the size of the main components) - #77280 (Ensure that all LLVM components requested by tests are available on CI) - #77284 (library: Forward compiler-builtins "mem" feature) - #77296 (liveness: Use Option::None to represent absent live nodes) - #77322 (Add unstable book docs for `-Zunsound-mir-opts`) - #77328 (Use `rtassert!` instead of `assert!` from the child process after fork() in std::sys::unix::process::Command::spawn()) - #77331 (Add test for async/await combined with const-generics.) - #77338 (Fix typo in alloc vec comment) - #77340 (Alloc vec use imported path) - #77345 (Add test for issue #74761) - #77348 (Update books) Failed merges: r? `@ghost`
This commit is contained in:
commit
ef663a8a48
17 changed files with 127 additions and 54 deletions
25
src/test/ui/const-generics/issue-74906.rs
Normal file
25
src/test/ui/const-generics/issue-74906.rs
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// edition:2018
|
||||
// check-pass
|
||||
// revisions: full min
|
||||
#![cfg_attr(full, feature(const_generics))]
|
||||
#![cfg_attr(full, allow(incomplete_features))]
|
||||
#![cfg_attr(min, feature(min_const_generics))]
|
||||
|
||||
const SIZE: usize = 16;
|
||||
|
||||
struct Bar<const H: usize> {}
|
||||
|
||||
struct Foo<const H: usize> {}
|
||||
|
||||
impl<const H: usize> Foo<H> {
|
||||
async fn biz(_: &[[u8; SIZE]]) -> Vec<()> {
|
||||
vec![]
|
||||
}
|
||||
|
||||
pub async fn baz(&self) -> Bar<H> {
|
||||
Self::biz(&vec![]).await;
|
||||
Bar {}
|
||||
}
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
16
src/test/ui/type-alias-impl-trait/issue-74761.rs
Normal file
16
src/test/ui/type-alias-impl-trait/issue-74761.rs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#![feature(member_constraints)]
|
||||
#![feature(type_alias_impl_trait)]
|
||||
|
||||
pub trait A {
|
||||
type B;
|
||||
fn f(&self) -> Self::B;
|
||||
}
|
||||
impl<'a, 'b> A for () {
|
||||
//~^ ERROR the lifetime parameter `'a` is not constrained
|
||||
//~| ERROR the lifetime parameter `'b` is not constrained
|
||||
type B = impl core::fmt::Debug;
|
||||
|
||||
fn f(&self) -> Self::B {}
|
||||
}
|
||||
|
||||
fn main() {}
|
||||
15
src/test/ui/type-alias-impl-trait/issue-74761.stderr
Normal file
15
src/test/ui/type-alias-impl-trait/issue-74761.stderr
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
error[E0207]: the lifetime parameter `'a` is not constrained by the impl trait, self type, or predicates
|
||||
--> $DIR/issue-74761.rs:8:6
|
||||
|
|
||||
LL | impl<'a, 'b> A for () {
|
||||
| ^^ unconstrained lifetime parameter
|
||||
|
||||
error[E0207]: the lifetime parameter `'b` is not constrained by the impl trait, self type, or predicates
|
||||
--> $DIR/issue-74761.rs:8:10
|
||||
|
|
||||
LL | impl<'a, 'b> A for () {
|
||||
| ^^ unconstrained lifetime parameter
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0207`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue