rust/tests/ui/const-generics/generic_const_exprs/eval-privacy.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
559 B
Rust
Raw Normal View History

#![crate_type = "lib"]
#![feature(generic_const_exprs)]
#![allow(incomplete_features)]
2023-05-18 11:57:45 +00:00
pub struct Const<const U: u8>;
pub trait Trait {
type AssocTy;
fn assoc_fn() -> Self::AssocTy;
}
2024-06-04 08:10:08 +00:00
impl<const U: u8> Trait for Const<U>
where
2024-06-04 08:10:08 +00:00
// OK, trait impl predicates
Const<{ my_const_fn(U) }>:,
{
type AssocTy = Const<{ my_const_fn(U) }>;
//~^ ERROR private type
//~| ERROR private type
fn assoc_fn() -> Self::AssocTy {
Const
}
}
const fn my_const_fn(val: u8) -> u8 {
// body of this function doesn't matter
val
}