template<PieceType Pt>
inline Bitboard Position::attacks_from(Square s) const {
- assert(Pt != PAWN);
+ static_assert(Pt != PAWN, "Pawn attacks need color");
+
return Pt == BISHOP || Pt == ROOK ? attacks_bb<Pt>(s, byTypeBB[ALL_PIECES])
: Pt == QUEEN ? attacks_from<ROOK>(s) | attacks_from<BISHOP>(s)
: PseudoAttacks[Pt][s];