@Shepmaster ваш комментарий был искрой, но вся эта тема была чрезвычайно полезна.
я есть этот источник:
pub fn draw<G, C>(&self, font: &mut C, draw_state: &DrawState, transform: Matrix2d, g: &mut G)
where
C: CharacterCache,
G: Graphics<Texture = <C as CharacterCache>::Texture>,
{
self.properties.draw(
self.text.as_str(),
&mut font,
&draw_state,
transform,
g,
);
}
И ошибка
the trait bound `&mut C: graphics::character::CharacterCache` is not satisfied
(the trait `graphics::character::CharacterCache` is not implemented for `&mut C`)
Единственный аспектC
что определяется тем, что он реализуетCharacterCache
Но ошибка говорит об обратном.
DrawState
, Matrix2d
, CharacterCache
и его реализации,Texture
и self.properties (Text
) предоставляются графической библиотекой Piston 2d. В общих чертах должно быть что-то, что я неправильно понимаю.
Text::draw
подпись функции:
fn draw<C, G>(
&self,
text: &str,
cache: &mut C,
draw_state: &DrawState,
transform: Matrix2d,
g: &mut G,
) where
C: CharacterCache,
G: Graphics<Texture = C::Texture>,