24817, "e-kayrakli", "[Bug]: 'fileReader.seek' with 'uint' ranges doesn't resolve", "2024-04-10T21:36:33Z"
Summary of Problem
Description:
The extern function we use is declared with an int(64)
argument. If the range actual to seek
has uint
lower bound, it triggers resolution errors.
Is this a blocking issue with no known work-arounds?
No
Steps to Reproduce
Source Code:
use IO;
var reader: fileReader(locking=false);
reader.seek(0:uint..);
Compile command:
chpl foo.chpl
Execution command:
./foo
Behavior
$CHPL_HOME/modules/standard/IO.chpl:5305: In method 'seek':
$CHPL_HOME/modules/standard/IO.chpl:5323: error: unresolved call 'qio_channel_seek(c_ptr(qio_channel_t), uint(64), 9223372036854775807)'
$CHPL_HOME/modules/standard/IO.chpl:1368: note: this candidate did not match: private qio_channel_seek(ch: qio_channel_ptr_t, start: int(64), end: int(64))
$CHPL_HOME/modules/standard/IO.chpl:5323: note: because actual argument #2 with type 'uint(64)'
$CHPL_HOME/modules/standard/IO.chpl:1368: note: is passed to formal 'start: int(64)'
$CHPL_HOME/ioSeek.chpl:3: called as (fileReader(false,defaultDeserializer)).seek(region: range(uint(64),low,one))
note: generic instantiations are underlined in the above callstack
Configuration Information
Should trigger in any config.