tvl-depot/users/glittershark/achilles
Griffin Smith 8e13b1303a feat(achilles): Implement a Unit type
Add support for a zero-sized Unit type. This requires some special at
the codegen level because LLVM (unsurprisingly) only allows Void types
in function return position - to make that a little easier to handle
there's a new pass that strips any unit-only expressions and pulls
unit-only function arguments up to new `let` bindings, so we never have
to actually pass around unit values.

Change-Id: I0fc18a516821f2d69172c42a6a5d246b23471e38
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2695
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-03-28 17:33:00 +00:00
..
ach feat(achilles): Implement a Unit type 2021-03-28 17:33:00 +00:00
src feat(achilles): Implement a Unit type 2021-03-28 17:33:00 +00:00
tests feat(achilles): Implement a Unit type 2021-03-28 17:33:00 +00:00
.envrc merge(glittershark/achilles): Subtree import at 'b93268085a' 2021-03-15 22:48:27 +02:00
.gitignore merge(glittershark/achilles): Subtree import at 'b93268085a' 2021-03-15 22:48:27 +02:00
Cargo.lock feat(achilles): Implement a Unit type 2021-03-28 17:33:00 +00:00
Cargo.toml feat(achilles): Implement a Unit type 2021-03-28 17:33:00 +00:00
default.nix chore(gs/achilles): Integrate with the depot build 2021-03-20 20:20:20 +00:00
shell.nix merge(glittershark/achilles): Subtree import at 'b93268085a' 2021-03-15 22:48:27 +02:00