Skip to content

Struct inside an array transforms into Number when returning Janet from a function #18

@Andriamanitra

Description

@Andriamanitra

I had good fun tracking down this bug, any idea what could be going on?

use janetrs::Janet;
use janetrs::client::JanetClient;

fn run_janet() -> Janet {
    let janet = JanetClient::init_with_default_env().unwrap();
    let result = janet.run_bytes("@[(struct :version janet/version)]").unwrap();
    println!("in run_janet:\n  {:?}", result);
    result
}

fn main() {
    println!("in_main:\n  {:?}", run_janet());
}

outputs

in run_janet:
  Janet(Array(@[Janet(Struct({Janet(Keyword("version")): Janet(String("1.37.1"))}))]))
in_main:
  Janet(Array(@[Janet(Number(4.6641750206062e-310))]))

Version information:

  • janetrs = { version = "0.8.0", features = ["amalgation"] }
  • rustc 1.88.0
  • x86_64 GNU/Linux 6.15.8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions