Move some trait bounds to definition of AsGlowRenderer

Everything implementing `AsGlowRenderer` implements `Renderer` and various
other traits, and by making `AsGlowRenderer` depend on these trait,
things requiring `AsGlowRenderer` can avoid listing those traits as
well.

Looks like implied trait bounds still won't work for the
`Self::TexutureId` and `Self::Error` requirements? So those are not
included here.
This commit is contained in:
Ian Douglas Scott 2026-03-11 10:04:15 -07:00
parent d902f4b5c3
commit c860fcddad
9 changed files with 86 additions and 93 deletions

View file

@ -364,7 +364,7 @@ impl CosmicWindow {
alpha: f32,
) -> Option<C>
where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R: AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
C: From<CosmicWindowRenderElement<R>>,
{
@ -444,7 +444,7 @@ impl CosmicWindow {
scanout_override: Option<bool>,
) -> Vec<C>
where
R: Renderer + ImportAll + ImportMem + AsGlowRenderer,
R: AsGlowRenderer,
R::TextureId: Send + Clone + 'static,
C: From<CosmicWindowRenderElement<R>>,
{
@ -1350,7 +1350,7 @@ where
impl<R> RenderElement<R> for CosmicWindowRenderElement<R>
where
R: Renderer + AsGlowRenderer + ImportAll + ImportMem,
R: AsGlowRenderer,
R::TextureId: 'static,
R::Error: FromGlesError,
{