# ModelingToolkit.jl: '===' comparison on Operations(/Expressions)

**URL:** <https://discourse.julialang.org/t/modelingtoolkit-jl-comparison-on-operations-expressions/45559>\
**Category:** Modelling & Simulations\
**Tags:** symbolic\
**Created:** [August 26, 2020, 8:14am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-comparison-on-operations-expressions/45559 "2020-08-26T08:14:33Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![anon37204545](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@anon37204545](https://discourse.julialang.org/u/anon37204545)\
**Post date:** [August 26, 2020, 10:56am UTC](https://discourse.julialang.org/t/modelingtoolkit-jl-comparison-on-operations-expressions/45559/2 "2020-08-26T10:56:14Z")

</div>

Check here:  
[https://stackoverflow.com/questions/38601141/what-is-the-difference-between-and-comparison-operators-in-julia](https://stackoverflow.com/questions/38601141/what-is-the-difference-between-and-comparison-operators-in-julia)

Or here: [Overload === for custom type](https://discourse.julialang.org/t/overload-for-custom-type/4898)

By executing `D(x)` two times you are creating two objects stored at different memory locations. So that behavior is expected.

Since `==` is overloaded, you can use `isequal` instead:

```julia
julia> isequal(D(x), D(x))
true

```

---

_[View the full topic](https://discourse.julialang.org/t/modelingtoolkit-jl-comparison-on-operations-expressions/45559)._
