@@ -0,0 +1,1515 @@
+package com.fasterxml.jackson.failing;%0A%0Aimport java.util.*;%0A%0Aimport com.fasterxml.jackson.databind.*;%0A%0A// for %5Bdatabind#938%5D%0Apublic class RecursiveType938Test extends BaseMapTest%0A%7B%0A    public static interface Ability%3CT%3E %7B %7D%0A%0A    public static final class ImmutablePair%3CL, R%3E implements Map.Entry%3CL, R%3E, Ability%3CImmutablePair%3CL, R%3E%3E %7B%0A        public final L key;%0A        public final R value;%0A%0A        public ImmutablePair(final L key, final R value) %7B%0A            this.key = key;%0A            this.value = value;%0A        %7D%0A%0A        @Override%0A        public L getKey() %7B%0A            return key;%0A        %7D%0A%0A        @Override%0A        public R getValue() %7B%0A            return value;%0A        %7D%0A%0A        @Override%0A        public R setValue(final R value) %7B%0A            throw new UnsupportedOperationException();%0A        %7D%0A      %0A        static %3CL, R%3E ImmutablePair%3CL, R%3E of(final L left, final R right) %7B%0A            return new ImmutablePair%3CL, R%3E(left, right);%0A        %7D%0A    %7D%0A%0A    private final ObjectMapper MAPPER = new ObjectMapper();%0A%0A    public void testRecursivePair() throws Exception%0A    %7B%0A        JavaType t = MAPPER.constructType(ImmutablePair.class);%0A%0A        assertNotNull(t);%0A        assertEquals(ImmutablePair.class, t.getRawClass());%0A%0A        /*%0A        List%3CImmutablePair%3CString, Double%3E%3E list = new ArrayList%3CImmutablePair%3CString, Double%3E%3E();%0A        list.add(ImmutablePair.of(%22Hello World!%22, 123d));%0A        String json = MAPPER.writeValueAsString(list);%0A        assertNotNull(json);%0A        */%0A    %7D%0A%7D%0A

Add a (failing) test for #938