Skip to content

Commit c4973a4

Browse files
committed
CLJ-2841 - make IDeref extend DoubleSupplier, as with the other Supplier interfaces
1 parent bc69ef4 commit c4973a4

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

src/jvm/clojure/lang/IDeref.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
package clojure.lang;
1414

1515
import java.util.function.BooleanSupplier;
16+
import java.util.function.DoubleSupplier;
1617
import java.util.function.IntSupplier;
1718
import java.util.function.LongSupplier;
1819
import java.util.function.Supplier;
1920

20-
public interface IDeref extends Supplier, BooleanSupplier, IntSupplier, LongSupplier {
21+
public interface IDeref extends Supplier, BooleanSupplier, IntSupplier, LongSupplier, DoubleSupplier {
2122
Object deref() ;
2223

2324
@Override
@@ -40,4 +41,9 @@ default long getAsLong() {
4041
return RT.longCast(deref());
4142
}
4243

44+
@Override
45+
default double getAsDouble() {
46+
return RT.doubleCast(deref());
47+
}
48+
4349
}

test/clojure/test_clojure/atoms.clj

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,7 @@
5757
(is (= 11 (.getAsLong a)))
5858

5959
(is (instance? java.util.function.BooleanSupplier a))
60-
(is (true? (.getAsBoolean a)))))
60+
(is (true? (.getAsBoolean a)))
61+
62+
(is (instance? java.util.function.DoubleSupplier a))
63+
(is (= 11.0 (.getAsDouble a)))))

test/clojure/test_clojure/delays.clj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,5 @@
8585
(is (instance? java.util.function.LongSupplier di))
8686
(is (= 100 (.get ^java.util.function.Supplier di)))
8787
(is (= 100 (.getAsInt ^java.util.function.IntSupplier di)))
88-
(is (= 100 (.getAsLong ^java.util.function.LongSupplier di)))))
88+
(is (= 100 (.getAsLong ^java.util.function.LongSupplier di)))
89+
(is (= 100.0 (.getAsDouble ^java.util.function.DoubleSupplier di)))))

0 commit comments

Comments
 (0)