[ 
https://issues.apache.org/jira/browse/TINKERPOP-3015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17786480#comment-17786480
 ] 

Valentyn Kahamlyk commented on TINKERPOP-3015:
----------------------------------------------

Could you share code example with compilation error?
For me works without issues with latest 3.6.x and 3.7.x
{code:java}
Graph graph = TinkerFactory.createModern();
GraphTraversalSource g = graph.traversal();

Collection<String> ids = Arrays.asList("1","2","3");
List vertices = g.V().hasId(P.within(ids)).toList();
System.out.println(vertices);{code}

> Use wildcard instead of Object for hasId predicates
> ---------------------------------------------------
>
>                 Key: TINKERPOP-3015
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3015
>             Project: TinkerPop
>          Issue Type: Improvement
>    Affects Versions: 3.5.7, 3.6.5
>            Reporter: Christopher Smith
>            Priority: Minor
>
> From both {{GraphTraversal}} and {{__}}, the {{hasId(P)}} steps specify a 
> {{P<Object>}}. Common predicates, such as {{within}}, propagate the generic 
> type from their own arguments, so that this produces a compile-time error:
> {code}
> Collection<String> ids = ...
> g.V().hasId(P.within(ids))
> {code}
> I believe that without loss of safety, the signature in both locations could 
> be changed to {{P<?>}}, making the typical case of "here's a collection of 
> IDs of known type" work smoothly.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to