The order of the arguments in foldLeft not the same as in foldRight .
xs.foldRight(ys){(element, aggregator) => element :: aggregator} xs.foldLeft(ys){(aggregator, element) => element :: aggregator}
With the placeholder syntax for foldLeft - (_ :: _) - you are trying to do something like this: aggregator :: element . This means element.::(aggregator) and in element there is no method :: (type element is T ).
source share