Github user spmallette commented on a diff in the pull request:
https://github.com/apache/tinkerpop/pull/882#discussion_r207191097
--- Diff:
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/Traversal.java
---
@@ -496,15 +496,17 @@ public default void reset() {
public void setGraph(final Graph graph);
public default boolean equals(final Traversal.Admin<S, E> other) {
- final List<Step> steps = this.getSteps();
- final List<Step> otherSteps = other.getSteps();
- if (steps.size() == otherSteps.size()) {
- for (int i = 0; i < steps.size(); i++) {
- if (!steps.get(i).equals(otherSteps.get(i))) {
- return false;
+ if (this.getClass().equals(other.getClass())) {
--- End diff --
I guess this changes makes sense. Are you sure there was no reason why we
didn't have it that way to begin with? Just playing devil's advocate, but
should `Traversal` equality in some way be based on the steps the traversal
contains rather than the class it has?
---