islet-project / islet

An on-device confidential computing platform
Apache License 2.0
91 stars 16 forks source link

Failure of unsafe-analyzer analysis #339

Open bitboom opened 2 months ago

bitboom commented 2 months ago

Currently, the analysis fails due to a conflict between the dependencies of the crates used by cargo-geiger (syn, serde-json) and the dependencies of the ciborium crate used in the attestation module.

/serde_json-1.0.109/src/features_check/error.rs, Syn(Error("expected one of: `fn`, `extern`, `use`, `static`, `const`, `unsafe`, `mod`, `type`, `struct`, `enum`, `union`, `trait`, `auto`, `impl`, `default`, `macro`, identifier, `self`, `super`, `crate`, `::`"), "/home/sangwan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.109/src/features_check/error.rs")
thread '<unnamed>' panicked at /home/sangwan/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.109/src/lit.rs:1020:13:
Unrecognized literal: `c""`
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

We need to either modify cargo-geiger or ciborium to resolve this dependency conflict. However, resolving these dependencies involves forking and modifying 3 to 5 crates, which adds a considerable issue.