~sircmpwn/hare-bcrypt

Add extlib misc

Signed-off-by: Drew DeVault <sir@cmpwn.com>
crypto::bcrypt: rehome

Signed-off-by: Drew DeVault <sir@cmpwn.com>
bytes: return done from next_token/peek_token

Signed-off-by: Sebastian <sebastian@sebsite.pw>
Fix 102 memleaks in the stdlib tests

992 memleaks remain, but I prefer to break this change in parts to
ease the reviewing work.

Signed-off-by: Martin Quinson <martin.quinson@ens-rennes.fr>
fmt: factor out format string iterator

also implements precision handling, and replaces {:042} with {:.42}.
simplifies the code and prepares us for fmt::scan*

Signed-off-by: Ember Sawady <ecs@d2evs.net>
all: add trailing :: to module references in docs

Signed-off-by: Sebastian <sebastian@sebsite.pw>
Alphebatize imports across the board.

My apologies.

Signed-off-by: Joe Finney <me@spxtr.net>
simplify copyright headers

use SPDX-License-Identifier and only provide a (c) Hare authors (with
the goal of helping people get back to the stdlib from a vendored copy)
rather than trying to keep an author list up to date. also enforce that
the headers exist and have the right format in ci

Signed-off-by: Ember Sawady <ecs@d2evs.net>
all: take advantage of loosened rune castability rules

Signed-off-by: Sebastian <sebastian@sebsite.pw>
crypto: use SZ as suffix for sizes

To convert your projects you could use:

find . -name "*.ha" -exec sed -i 's/SIZE/SZ/g' {} \;

Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
strio,bufio: merge memstream implementation into memio

- memio functions will now error instead of aborting
- renames bufio::{buffered,bufstream} to bufio::{new,stream}
- removes truncate()

Signed-off-by: Autumn! <autumnull@posteo.net>
crypto::bcrypt: allocate blowfish state on the heap

Makes the binary function size go from 15kb to <1kb

Signed-off-by: Bor Grošelj Simić <bgs@turminal.net>
Rename strings::try_fromutf8 to strings::fromutf8

According to ecs on IRC, these functions were written before the error
assertion operator was added. This design is more in line with the rest
of the standard library.

Signed-off-by: Sebastian LaVine <mail@smlavine.com>
crypto::bcrypt: remove slice alloc workaround

References: https://todo.sr.ht/~sircmpwn/hare/670
Signed-off-by: Drew DeVault <sir@cmpwn.com>
crypto::bcrypt: remove debug imports

Signed-off-by: Drew DeVault <sir@cmpwn.com>
crypto::bcrypt: add README
crypto::bcrypt: new module

This algorithm fucking sucks