}
#[typetag::serde] // usual variable: p
-pub trait PieceTrait: OutlineTrait + Send + Debug {
+pub trait PieceTrait: OutlineTrait + Send + Debug + 'static {
/// by convention, occult face is nfaces-1
// xxx this is no good, we need a central definition of the occult
// face to avoid weird behaviour with buggy gamespecs
#[throws(IE)]
pub fn make_defs<'p,P>(&self, gpc: &GPiece, p: &P) -> Html
- where P:Borrow<dyn PieceTrait + 'p>
+ where P:Borrow<dyn PieceTrait>
{
#[throws(IE)]
fn inner(pri: &PieceRenderInstructions, gpc: &GPiece, p: &dyn PieceTrait)
}
pub fn describe<'p,P>(&self, gpc: &GPiece, p: &P) -> Html
- where P:Borrow<dyn PieceTrait + 'p>
+ where P:Borrow<dyn PieceTrait>
{
fn inner(pri: &PieceRenderInstructions, gpc: &GPiece, p: &dyn PieceTrait)
-> Html
// ========== public entrypoints ==========
/// None => do not render at all
-pub fn piece_pri<'p, P:Borrow<dyn PieceTrait + 'p>>(
+pub fn piece_pri<P:Borrow<dyn PieceTrait>>(
occults: &GameOccults,
player: PlayerId, gpl: &mut GPlayer,
piece: PieceId, gpc: &GPiece, p: &P,