g_input_stream_read_async() virtual method count parameter is not direction="out"
Seen in Gio-2.0.gir from v2.62.
The count parameter should not have the annotation direction="out"
<virtual-method name="read_async" invoker="read_async">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26089">Request an asynchronous read of @count bytes from the stream into the buffer
...
override one you must override all.</doc>
<source-position filename="ginputstream.h" line="75"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="stream" transfer-ownership="none">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26091">A #GInputStream.</doc>
<type name="InputStream" c:type="GInputStream*"/>
</instance-parameter>
<parameter name="buffer"
direction="out"
caller-allocates="1"
transfer-ownership="none"
nullable="1">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26092">
a buffer to read data into (which should be at least count bytes long).</doc>
<array length="1" zero-terminated="0" c:type="void*">
<type name="guint8"/>
</array>
</parameter>
<parameter name="count"
direction="out"
caller-allocates="0"
transfer-ownership="full">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26094">the number of bytes that will be read from the stream</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="io_priority" transfer-ownership="none">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26095">the [I/O priority][io-priority]
of the request.</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="cancellable"
transfer-ownership="none"
nullable="1"
allow-none="1">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26097">optional #GCancellable object, %NULL to ignore.</doc>
<type name="Cancellable" c:type="GCancellable*"/>
</parameter>
<parameter name="callback"
transfer-ownership="none"
nullable="1"
allow-none="1"
scope="async"
closure="5">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26098">callback to call when the request is satisfied</doc>
<type name="AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
</parameter>
<parameter name="user_data"
transfer-ownership="none"
nullable="1"
allow-none="1"
closure="5">
<doc xml:space="preserve"
filename="gio-2.0.c"
line="26099">the data to pass to callback function</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</virtual-method>
Probably caused by glib@3a32c758
I'm guessing that there is probably some logic somewhere that says if an array is an out parameter then the count must also be an out parameter. But that is not true in this case.