Upper bounds in http-mirage-client
Error:
```
File "test/test.ml", line 22, characters 2-70:
22 | Happy_eyeballs_mirage.Make (Time) (Mclock) (Tcpip_stack_socket.V4V6)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: The functor application is ill-typed.
These arguments:
Time Mclock Tcpip_stack_socket.V4V6
do not match these parameters:
functor (S : Tcpip.Stack.V4V6) -> ...
1. The following extra argument is provided
Time : sig val sleep_ns : int64 -> unit Lwt.t end
2. The following extra argument is provided
Mclock :
sig
val elapsed_ns : unit -> int64
val period_ns : unit -> int64 option
end
3. Modules do not match:
Tcpip_stack_socket.V4V6 :
sig
type t = Tcpip_stack_socket.V4V6.t
val disconnect : t -> unit Lwt.t
module UDP = Tcpip_stack_socket.V4V6.UDP
module TCP = Tcpip_stack_socket.V4V6.TCP
module IP = Tcpip_stack_socket.V4V6.IP
val udp : t -> UDP.t
val tcp : t -> TCP.t
val ip : t -> IP.t
val listen : t -> unit Lwt.t
val connect : Udpv4v6_socket.t -> Tcpv4v6_socket.t -> t Lwt.t
end
is not included in
Tcpip.Stack.V4V6
... In module UDP:
Values do not match:
val listen :
t ->
port:int ->
(src:Ipaddr.t ->
dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
src_port:int -> Cstruct.t -> unit Lwt.t) ->
unit
is not included in
val listen : t -> port:int -> callback -> unit
The type
t ->
port:int ->
(src:Ipaddr.t ->
dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
src_port:int -> Cstruct.t -> unit Lwt.t) ->
unit
is not compatible with the type t -> port:int -> callback -> unit
Type
src:Ipaddr.t ->
dst:('a, Ipaddr.V6.t) Ipaddr.v4v6 ->
src_port:int -> Cstruct.t -> unit Lwt.t
is not compatible with type
callback =
src:ipaddr ->
dst:ipaddr -> src_port:int -> Cstruct.t -> unit Lwt.t
Type ('a, Ipaddr.V6.t) Ipaddr.v4v6 is not compatible with type
ipaddr = Ipaddr.t
File "src/core/udp.mli", line 26, characters 2-48:
Expected declaration
File "src/stack-unix/udpv4v6_socket.ml", line 170, characters 4-10:
Actual declaration
```