~apreiml/hare

crypto::rsa: keygen wip

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
bigint: initial port of moddiv

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
io: add scriptwriter to +test

scriptwrite is a tool to test short writes or errors::again behavior on streams.

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
cmd/parsechk: initial commit

This uses hare::parse to parse all .ha files in the tree, and report if
any parsing errors occurred. This should hopefully ensure that in the
future we keep hare::parse up to date, and don't push changes that
compile but don't work with haredoc.

Signed-off-by: Sebastian <sebastian@sebsite.pw>
os: remove finish

This was an alias of fs::finish, which doesn't make sense since os::iter
returns an fs::iterator, and the os-specific finish function is embedded
within the iterator itself so it's called by fs::finish. os::finish also
wasn't ever referenced by the docs, so users have been lead to use
fs::finish anyway.

Signed-off-by: Sebastian <sebastian@sebsite.pw>
crypto::{math,bigint}: export some util functions

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
crypto::math: make eq0u32 param u32

The int parameter was inhereted from the BearSSL implementation. It does
not make any sense here though. It seems like some kind of a C
workaround (wild guess).

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
crypto::bigint: decode only actual encoded words

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
*: remove full module name usage
hare::parse: Disallow single element tuple types

Signed-off-by: Alexey Yerin <yyp@disroot.org>
hare::parse: Disallow single type tagged unions

Similar to single item tuples, those are also disallowed in harec. They also
create invalid code in unparse->parse roundtrip.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
hare::parse: Disallow single element tuples

Bootstrap harec already disallows them and in general they are incredibly
broken.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
cmd/hare: Improve errors for task failure

Add full path to the module and reorder words to look more like English.

Signed-off-by: Alexey Yerin <yyp@disroot.org>
mime: simplify and improve load_systemdb

Signed-off-by: Sebastian <sebastian@sebsite.pw>
all: remove self-namespace from doc refs

Signed-off-by: Sebastian <sebastian@sebsite.pw>
driver: remove #875 workaround

Signed-off-by: Sebastian <sebastian@sebsite.pw>
shlex: add strerror

Signed-off-by: Sebastian <sebastian@sebsite.pw>
strings::template: add invalid type

Signed-off-by: Sebastian <sebastian@sebsite.pw>
encoding::utf8: add strerror

Signed-off-by: Sebastian <sebastian@sebsite.pw>
hare::ast: s/fndecl_attrs/fndecl_attr/g

For consistency with other type names which aren't plural, like flag.

Signed-off-by: Sebastian <sebastian@sebsite.pw>
Next