-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
bugSomething isn't workingSomething isn't workingcoreEssential (planned) functionality or maintenanceEssential (planned) functionality or maintenance
Description
List of misc bugs in caimanc that are unsolved or not merged yet. I keep forgetting about them, so I'm making this issue to put them in one place.
Codegen
select true: Select false branch is always taken. SeeFixed in Codgen Fixes (Select and Recursion) #92select_true_testselect arity != 1: Select doesn't seem to work when there are 0 or 2+ arguments. With 0 arguments, codegen will generate an empty if:Fixed in Codgen Fixes (Select and Recursion) #92let ... = if ... { () } else { () }. If there are
2 or more arguments, it will get an index out of bound atindex out of bounds: the len is 1 but the index is 1', src/rust_wgpu_backend/codegen.rs:1379:25
recursion: Recursion causes the compiler to never terminate, even with serialized join. SeeFixed in Codgen Fixes (Select and Recursion) #92rec_sum_test- Only one inline join allowed per funclet assumption introduced in Codgen Fixes (Select and Recursion) #92. Violating this results in an assertion failure for
pending_inline_join.is_none()
Assembly
jump: Jump AST to IR transformation attempts to use the node id of the continuation as a funclet id.- fixed in
simple-lower, merged in Core High Level Caiman #76
- fixed in
node id used instead of index in quotients: A node id is used instead of an index inQuotient::Output. IR expects an index, assembly passes a node id. The same is happening forQuotient::Input, however, it seems to be working so I haven't touched it.- merged in Core High Level Caiman #76
holes not allowed in flow: There is no way for the flow part of the tag to be a hole with the rest of the tag specifiedFixed in Explication Restructure #95
Type Checking
- BUFFERS - allegedly very broken
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingcoreEssential (planned) functionality or maintenanceEssential (planned) functionality or maintenance