use crate as starlark;
use crate::values::Freeze;
use crate::values::FreezeError;
use crate::values::FreezeResult;
trait Bound<'x> {}
#[derive(Freeze)]
#[freeze(validator = check_type, bounds = "<V as Freeze>::Frozen: Bound<'freeze>")]
struct Test<V> {
field: V,
}
fn check_type<'x, V>(_: &Test<V>) -> anyhow::Result<()>
where
V: Bound<'x>,
{
Ok(())
}
#[test]
fn assert_impl() {
#[derive(Freeze)]
struct Impl {}
impl<'x> Bound<'x> for Impl {}
fn check(_: impl Freeze) {}
check(Test { field: Impl {} });
}