rust/tests/ui/implied-bounds/bevy_world_query.rs

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

29 lines
670 B
Rust
Raw Normal View History

2023-12-09 05:20:14 +08:00
//@ check-pass
// We currently special case bevy from erroring on incorrect implied bounds
// from normalization (issue #109628).
// Otherwise, we would expect this to hit that error.
2023-12-09 05:20:14 +08:00
pub trait WorldQuery {}
impl WorldQuery for &u8 {}
pub struct Query<Q: WorldQuery>(Q);
pub trait SystemParam {
type State;
}
impl<Q: WorldQuery + 'static> SystemParam for Query<Q> {
type State = ();
// `Q: 'static` is required because we need the TypeId of Q ...
}
pub struct ParamSet<T: SystemParam>(T) where T::State: Sized;
2023-12-09 05:20:14 +08:00
fn handler<'a>(x: ParamSet<Query<&'a u8>>) {
let _: ParamSet<_> = x;
}
2023-12-09 05:20:14 +08:00
fn ref_handler<'a>(_: &ParamSet<Query<&'a u8>>) {}
2023-12-09 05:20:14 +08:00
fn main() {}