[
https://issues.apache.org/jira/browse/TINKERPOP-2890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17712050#comment-17712050
]
ASF GitHub Bot commented on TINKERPOP-2890:
-------------------------------------------
spmallette commented on code in PR #2012:
URL: https://github.com/apache/tinkerpop/pull/2012#discussion_r1165968745
##########
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/TailLocalStep.java:
##########
@@ -54,7 +54,7 @@ protected S map(final Traverser.Admin<S> traverser) {
start instanceof Collection ? ((Collection)
start).size() :
start instanceof Path ? ((Path) start).size() :
start instanceof Iterable ?
IteratorUtils.count((Iterable) start) :
- this.limit;
+
IteratorUtils.count(IteratorUtils.asIterator(start));
Review Comment:
is this meant as some sort of safety? `RangeLocalStep.applyRange()` seems to
satisfy the issue, no? no exception thrown here:
```
gremlin> g.inject([1,2,3],[1],10).tail(local)
==>3
==>1
==>10
```
> Avoid exceptions on local scope based steps where possible
> ----------------------------------------------------------
>
> Key: TINKERPOP-2890
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2890
> Project: TinkerPop
> Issue Type: Improvement
> Components: process
> Affects Versions: 3.5.5
> Reporter: Stephen Mallette
> Priority: Critical
>
> If you {{g.inject([1,2], 1])dedup(local)}} you get an casting error because
> "1" is not an {{Iterable}} and {{local}} only works with that type. Would be
> better if a {{dedup()}} of a non-iterable just returned the object itself.
> Consider other steps that use {{local}} and make similar improvements there
> for consistency.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)