Skip to content

Commit cebbbd5

Browse files
author
José Valim
committed
Remove short paths on Enum
They basically cost one local function call and are rarely used (just when both iterators are empty)
1 parent 6619e32 commit cebbbd5

File tree

1 file changed

+0
-42
lines changed

1 file changed

+0
-42
lines changed

lib/elixir/lib/enum.ex

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -367,27 +367,6 @@ defmodule Enum do
367367

368368
def equal?(a, b) do
369369
case { I.iterator(a), I.iterator(b) } do
370-
{ { _, :stop }, { _, :stop } } ->
371-
true
372-
373-
{ { _, :stop }, { _, _ } } ->
374-
false
375-
376-
{ { _, _ }, { _, :stop } } ->
377-
false
378-
379-
{ { _, :stop }, [] } ->
380-
true
381-
382-
{ [], { _, :stop } } ->
383-
true
384-
385-
{ { _, :stop }, _ } ->
386-
false
387-
388-
{ _, { _, :stop } } ->
389-
false
390-
391370
{ { a_iterator, a_pointer }, { b_iterator, b_pointer } } ->
392371
do_equal?(a_pointer, a_iterator, b_pointer, b_iterator)
393372

@@ -454,27 +433,6 @@ defmodule Enum do
454433

455434
def equal?(a, b, fun) do
456435
case { I.iterator(a), I.iterator(b) } do
457-
{ { _, :stop }, { _, :stop } } ->
458-
true
459-
460-
{ { _, :stop }, { _, _ } } ->
461-
false
462-
463-
{ { _, _ }, { _, :stop } } ->
464-
false
465-
466-
{ { _, :stop }, [] } ->
467-
true
468-
469-
{ [], { _, :stop } } ->
470-
true
471-
472-
{ { _, :stop }, _ } ->
473-
false
474-
475-
{ _, { _, :stop } } ->
476-
false
477-
478436
{ { a_iterator, a_pointer }, { b_iterator, b_pointer } } ->
479437
do_equal_with?(fun, a_pointer, a_iterator, b_pointer, b_iterator)
480438

0 commit comments

Comments
 (0)