hare

The Hare programming language
git clone https://git.torresjrjr.com/hare.git
Log | Files | Refs | README | LICENSE

commit 9dfd725689151b3fdd5002cf24406fc1dbd814cd
parent 29ae3ee9e363b5b55854055eb355ff4c4794ab41
Author: Bor Grošelj Simić <bgs@turminal.net>
Date:   Sun, 13 Mar 2022 09:18:16 +0100

update for stricter [*]array assignability rules

Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>

Diffstat:
Mos/exec/exec+freebsd.ha | 2+-
Mos/exec/exec+linux.ha | 5+++--
Munix/poll/+freebsd.ha | 2+-
Munix/poll/+linux.ha | 2+-
4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/os/exec/exec+freebsd.ha b/os/exec/exec+freebsd.ha @@ -127,7 +127,7 @@ fn platform_exec(cmd: *command) error = { }; return errors::errno(rt::fexecve(cmd.platform, - argv: *[*]nullable *const char, envp)); + argv: *[*]nullable *const char, envp: *[*]nullable *const char)); }; fn platform_start(cmd: *command) (process | errors::error) = { diff --git a/os/exec/exec+linux.ha b/os/exec/exec+linux.ha @@ -127,8 +127,9 @@ fn platform_exec(cmd: *command) error = { }; }; - return errors::errno(rt::execveat(cmd.platform, strings::c_empty, - argv: *[*]nullable *const char, envp, rt::AT_EMPTY_PATH)); + return errors::errno(rt::execveat(cmd.platform, + strings::c_empty, argv: *[*]nullable *const char, + envp: *[*]nullable *const char, rt::AT_EMPTY_PATH)); }; fn platform_start(cmd: *command) (process | errors::error) = { diff --git a/unix/poll/+freebsd.ha b/unix/poll/+freebsd.ha @@ -42,7 +42,7 @@ export fn poll( let ts = rt::timespec { ... }; time::duration_to_timespec(timeout, &ts); let ts = if (timeout == INDEF) null else &ts; - match (rt::ppoll(fds: *[*]pollfd, len(fds): rt::nfds_t, ts, null)) { + match (rt::ppoll(fds: *[*]pollfd: *[*]rt::pollfd, len(fds): rt::nfds_t, ts, null)) { case let err: rt::errno => return errors::errno(err); case let n: int => diff --git a/unix/poll/+linux.ha b/unix/poll/+linux.ha @@ -42,7 +42,7 @@ export fn poll( let ts = rt::timespec { ... }; time::duration_to_timespec(timeout, &ts); let ts = if (timeout == INDEF) null else &ts; - match (rt::ppoll(fds: *[*]pollfd, len(fds), ts, null)) { + match (rt::ppoll(fds: *[*]pollfd: *[*]rt::pollfd, len(fds), ts, null)) { case let err: rt::errno => return errors::errno(err); case let n: int =>