diff --git a/subprojects/lambda/src/main/java/org/mockito/AnyInt.java b/subprojects/lambda/src/main/java/org/mockito/AnyInt.java
new file mode 100644
index 0000000..7271c94
--- /dev/null
+++ b/subprojects/lambda/src/main/java/org/mockito/AnyInt.java
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2017 Mockito contributors
+ * This program is made available under the terms of the MIT License.
+ */
+package org.mockito;
+
+public class AnyInt implements LambdaArgumentMatcher<Integer> {
+    @Override
+    public boolean matches(Integer argument) {
+        return true;
+    }
+
+    @Override
+    public Integer getValue() {
+        return 0;
+    }
+}
diff --git a/subprojects/lambda/src/main/java/org/mockito/AnyLong.java b/subprojects/lambda/src/main/java/org/mockito/AnyLong.java
new file mode 100644
index 0000000..8d39ceb
--- /dev/null
+++ b/subprojects/lambda/src/main/java/org/mockito/AnyLong.java
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2017 Mockito contributors
+ * This program is made available under the terms of the MIT License.
+ */
+package org.mockito;
+
+public class AnyLong implements LambdaArgumentMatcher<Long> {
+    @Override
+    public Long getValue() {
+        return 0L;
+    }
+
+    @Override
+    public boolean matches(Long argument) {
+        return true;
+    }
+}
diff --git a/subprojects/lambda/src/main/java/org/mockito/MockitoLambda.java b/subprojects/lambda/src/main/java/org/mockito/MockitoLambda.java
index 73fe8cf..919f4c0 100644
--- a/subprojects/lambda/src/main/java/org/mockito/MockitoLambda.java
+++ b/subprojects/lambda/src/main/java/org/mockito/MockitoLambda.java
@@ -76,6 +76,14 @@
         return new AnyClass<>(clazz);
     }
 
+    public static LambdaArgumentMatcher<Integer> anyInt() {
+        return new AnyInt();
+    }
+
+    public static LambdaArgumentMatcher<Long> anyLong() {
+        return new AnyLong();
+    }
+
     public static <T> LambdaArgumentMatcher<T> eq(T value) {
         return new Equals<>(value);
     }
diff --git a/subprojects/lambda/src/test/java/org/mockitousage/MockitoLambdaStubTest.java b/subprojects/lambda/src/test/java/org/mockitousage/MockitoLambdaStubTest.java
index 2a5a2ec..14850f5 100644
--- a/subprojects/lambda/src/test/java/org/mockitousage/MockitoLambdaStubTest.java
+++ b/subprojects/lambda/src/test/java/org/mockitousage/MockitoLambdaStubTest.java
@@ -200,6 +200,19 @@
         assertThat(holding.invoked).isTrue();
     }
 
+    /**
+     * Shows how #1260 can be resolved.
+     */
+    @Test
+    public void matches_on_primitive_type_number() {
+        IMethods methods = mock(IMethods.class);
+        when(methods::intArgumentReturningInt).invokedWith(anyInt()).thenReturn(50);
+        assertThat(methods.intArgumentReturningInt(10)).isEqualTo(50);
+
+//        Uncomment this line to see the compilation error of unassignable numbers
+//        when(methods::intArgumentReturningInt).invokedWith(anyLong()).thenReturn(50);
+    }
+
     class TestCollectionSourceProvider {
         <T extends Collection<E>, E> T getCollection(T collection) {
             return collection;
