Skip to content

"cannot translate wildcard at an arbitrary position" when multiplying with wildcard #376

@bobismijnnaam

Description

@bobismijnnaam

I have a problem similar to #169, where a runtime exception is thrown with the error:

Exception in thread "main" java.lang.RuntimeException: cannot translate wildcard at an arbitrary position (should only occur directly in an accessibility predicate)

It happens on carbon master with the following input:

//  a field 
field Node_rank: Int

method Main_parrallel_region_main_1_Sequence$Node$_EncodedGlobalVariables(diz: Ref, nodes: Seq[Ref])
  requires 0 < |nodes| ==> (forall j: Int :: { nodes[j].Node_rank } 0 <= j && j < |nodes| ==> acc(nodes[j].Node_rank, |nodes| * wildcard))
{
  inhale false
}

Silicon seems to verify it without problems. Will multiplication with wildcards be unsupported in the future, or is this an instance of #169?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions