Skip to content

TypeInferenceUnification error when unpacking two pairs #114

Closed
BlockstreamResearch/rust-simplicity
#281
@m-kus

Description

@m-kus

I get TypeInferenceUnification error when trying to run the following program:

fn main() {
    let (a, b): (u32, u32) = (0, 1);
    assert!(jet::eq_32(a, 0));

    let (c, d): (u32, u32) = (2, 3);
    assert!(jet::eq_32(c, 2));
    assert!(jet::eq_32(d, 3));
}

This does not reproduce in BitMachine (I suppose because it does not run type checking?) but only when using https://github.com/BlockstreamResearch/rust-simplicity/blob/33b043f9a153f0d7be82dee8fbd61179ad63b888/simplicity-sys/src/tests/mod.rs#L113 (which calls the same code as Elements node under the hood).

When I'm trying to disassemble I get:

Error: failed to decode program: failed to apply bound1to existing bound2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (2^64 × (... × ...))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))): comp combinator: left target = right source

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions