See the crate-level documentation and the
Icons guide
for the full discussion of when to use each variant.
Implements PartialEq when all active features support it.
Icon::Text and Icon::Svg are always comparable; Icon::Lucide
requires lucide-icons to expose PartialEq on the inner type.
If lucide-icons is enabled, a manual impl is used that compares the
enum discriminant only for the Lucide variant.
Manual PartialEq when lucide-icons is active, since
lucide_icons::Icon does not derive PartialEq itself.
Two Lucide variants are considered equal only when they hold the
same discriminant value (compared via as usize).