cloudflare / cloudflare-rs

Rust library for the Cloudflare v4 API
256 stars 83 forks source link

Derive `Eq` for `DnsContent` #226

Open ferrohd opened 1 year ago

ferrohd commented 1 year ago

Currently, comparisons between DnsContent instances require explicit matching of the enum variants.

let dns1: DnsContent = ...;
let dns2: DnsContent = ...;

let is_same_record: bool = match (dns1, dns2) {
    (DnsContent::A { content: ip1 }, DnsContent::A { content: ip2 }) => ip1 == ip2,
    // ...
    _ => false
};

Deriving Eq (and therefore PartialEq), DnsContent instances can be compared using the == operator, providing a more ergonomic API to interact with DNS records.

let dns1: DnsContent = ...;
let dns2: DnsContent = ...;

let same_record: bool = dns1 == dns2;