44WIYRRYXHTRYJGD3ISP4HWTYOTHO7TA4HG56OWFUVS7ESUTGKFAC pub struct Mercury;pub struct Venus;pub struct Earth;pub struct Mars;pub struct Jupiter;pub struct Saturn;pub struct Uranus;pub struct Neptune;
macro_rules! impl_planets {($($planet:ident : $period:literal),*) => {$(pub struct $planet;impl Planet for $planet {fn years_during(d: &Duration) -> f64 {d.seconds / 31557600.0 / $period}})*};}
impl Planet for Mercury {}impl Planet for Venus {}impl Planet for Earth {}impl Planet for Mars {}impl Planet for Jupiter {}impl Planet for Saturn {}impl Planet for Uranus {}impl Planet for Neptune {}
impl_planets! {Mercury: 0.2408467,Venus: 0.61519726,Earth: 1.0,Mars: 1.8808158,Jupiter: 11.862615,Saturn: 29.447498,Uranus: 84.016846,Neptune: 164.79132}