On Mon, 17 May 2021 17:13:58 GMT, Stephen Colebourne <[email protected]>
wrote:
>> src/java.base/share/classes/java/time/Clock.java line 128:
>>
>>> 126: * Implementations should implement {@code Serializable} wherever
>>> possible and must
>>> 127: * document whether or not they do support serialization.
>>> 128: *
>>
>> The ImplSpec needs to say how it is implemented.
>> The 'implements InstantSource' can not mandate any particular
>> implementation. Its just an interface the real behavior comes from its
>> implementations. In this case Clock. Referring to the static methods of
>> InstantSource behavior may be sufficient because that behavior is concrete.
>
> There are plenty of examples of interfaces in `java.time` and elsewhere that
> apply restrictions to implementations. Nevertheless, for simplicity and
> expediency I have reinstated the `implSpec` on `Clock`
ok, thanks.
Assertions in interfaces are toothless. Tests can only be written for
implementations.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4016