This rule raises an issue when trying to perform comparison or arithmetic operations between `datetime.date` and `datetime.datetime` objects.

== Why is this an issue?
Despite the fact that the `datetime.datetime` is inherited from the `datetime.date` they are not compatible from comparison and arithmetical operations perspective.
Trying to compare a `datetime.datetime` with a `datetime.date` objects leads to a `TypeError`.

== How to fix it
Make sure that comparison or arithmetic operations are performed between compatible types e.g. convert `datetime.datetime` to `datetime.date` or vice versa.

=== Code examples

==== Noncompliant code example

[source,python,diff-id=1,diff-type=noncompliant]
----
from datetime import datetime, date

dt = datetime.now()
d = date.today()

if dt < d: # Noncompliant: TypeError: can't compare datetime.datetime to datetime.date
    ...
----

==== Compliant solution

[source,python,diff-id=1,diff-type=compliant]
----
from datetime import datetime, date

dt = datetime.now()
d = date.today()

if dt.date() < d: # OK
    ...
----

//=== How does this work?

//=== Pitfalls

//=== Going the extra mile


== Resources
=== Documentation
* Python documentation - https://docs.python.org/3/library/datetime.html#datetime-objects[Datetime Objects]
* Python documentation - https://docs.python.org/3/library/datetime.html#date-objects[Date Objects]
//=== Articles & blog posts
//=== Conference presentations
//=== Standards
//=== External coding guidelines
//=== Benchmarks
