An example of substituability test that is recursive

Remi Forax forax at
Thu Jan 31 11:19:32 UTC 2019

Hi Karen,
here is an example that recurse to its death with the current prototype

import java.lang.invoke.ValueBootstrapMethods;

public class Substituable {
  static value class Link {
    private final int value;
    private final Object next;
    public Link(int value, Object next) {
      this.value = value; = next;
    static Object times(int count) {
      return IntStream.range(0, count).boxed().reduce(null, (acc, index) -> new Link(index, acc), (l1, l2) -> { throw null; });
  public static void main(String[] args) {
    var l = Link.times(1_000);
    //System.out.println(l == l);
    System.out.println(ValueBootstrapMethods.isSubstitutable(l, l));


More information about the valhalla-spec-observers mailing list