Skip to content

Release build detects cyclic implementation of PartialEq in fhir-model crate #56

@atlex00

Description

@atlex00
❯ rustc --version rustc 1.90.0 (1159e78c4 2025-09-14) ❯ git rev-parse HEAD bf8f459080d71c744442a5a920230b26fe8c25fc ❯ cargo build -p fhir-model --release Compiling proc-macro2 v1.0.95 Compiling unicode-ident v1.0.18 Compiling strsim v0.11.1 Compiling ident_case v1.0.1 Compiling fnv v1.0.7 Compiling serde v1.0.219 Compiling powerfmt v0.2.0 Compiling time-core v0.1.4 Compiling num-conv v0.1.0 Compiling itoa v1.0.15 Compiling base64 v0.22.1 Compiling time-macros v0.2.22 Compiling quote v1.0.40 Compiling syn v2.0.104 Compiling darling_core v0.20.11 Compiling serde_derive v1.0.219 Compiling darling_macro v0.20.11 Compiling darling v0.20.11 Compiling derive_builder_core v0.20.2 Compiling derive_builder_macro v0.20.2 Compiling derive_builder v0.20.2 Compiling deranged v0.4.0 Compiling time v0.3.41 Compiling fhir-model v0.12.1 (/home/atlex00/sand/fhir-sdk/crates/fhir-model) error[E0391]: cycle detected when optimizing MIR for `r5::resources::generated::<impl at crates/fhir-model/src/r5/resources/generated.rs:10396:24: 10396:33>::eq` --> crates/fhir-model/src/r5/resources/generated.rs:10396:24 | 10396 | #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] | ^^^^^^^^^ | note: ...which requires optimizing MIR for `r5::resources::generated::<impl at crates/fhir-model/src/r5/resources/generated.rs:142453:24: 142453:33>::eq`... --> crates/fhir-model/src/r5/resources/generated.rs:142453:24 | 142453 | #[derive(Debug, Clone, PartialEq, Deserialize)] | ^^^^^^^^^ = note: ...which again requires optimizing MIR for `r5::resources::generated::<impl at crates/fhir-model/src/r5/resources/generated.rs:10396:24: 10396:33>::eq`, completing the cycle = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information For more information about this error, try `rustc --explain E0391`. error: could not compile `fhir-model` (lib) due to 1 previous error 

When I added the following optimization level in Cargo.toml, cargo build -p fhir-model --release worked.

[profile.release.package."fhir-model"] opt-level = 1 

But, opt-level = 2 didn't.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions