Hi @rhessinger,
I just tested the pre-release and the build now works as expected. Thanks again for the quick fix!
Hi @rhessinger,
I just tested the pre-release and the build now works as expected. Thanks again for the quick fix!
Hi @rhessinger,
Thanks for the quick reply. I'd love to try out a pre-release version when it's available.
Hi! I'm using ProGet 2025.17 (Build 7) and am trying to set up ProGet as a proxy for https://crates.io. I've set up a Cargo feed and added a connector to https://crates.io.
However, when I try to build Rust code using ProGet as the registry, I get compilation errors that I don't get when using another registry, for example:
error[E0432]: unresolved import `once_cell::sync`
--> /mypath/.cargo/registry/src/mydomain-f880e82129ec5ba0/tracing-core-0.1.34/src/lazy.rs:2:27
|
2 | pub(crate) use once_cell::sync::Lazy;
| ^^^^ could not find `sync` in `once_cell`
|
note: found an item that was configured out
--> /mypath/.cargo/registry/src/mydomain-f880e82129ec5ba0/once_cell-1.21.3/src/lib.rs:863:9
|
862 | #[cfg(any(feature = "std", feature = "critical-section"))]
| ----------------------------------------------- the item is gated here
863 | pub mod sync {
| ^^^^
I've done some debugging, and think I found the reason: ProGet seems to sometimes change the "default_features" flag of indirect dependencies, which causes Cargo to try to build the code with the incorrect features enabled.
As an example, this is (part of) what ProGet returns for http://mydomain/cargo/public-cargo/tr/ac/tracing-core (where public-cargo is my feed name):
... other versions
{
"name": "tracing-core",
"vers": "0.1.34",
"deps": [
{
"name": "once_cell",
"req": "1.13.0",
"optional": true,
"kind": "normal",
"default_features": false,
"features": [],
"registry": null,
"target": null
},
{
"name": "valuable",
"req": "0.1.0",
"optional": true,
"kind": "normal",
"default_features": false,
"features": [],
"registry": null,
"target": "cfg(tracing_unstable)"
}
],
"cksum": "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678",
"features": {
"default": [
"std",
"valuable?/std"
],
"std": [
"once_cell"
]
},
"v": 2,
"rust_version": "1.65.0",
"yanked": false
}
... other versions
Note that for the "once_cell" dependency, "default_features" is false. However, getting the same package from crates.io (https://index.crates.io/tr/ac/tracing-core) returns:
... other versions
{
"name": "tracing-core",
"vers": "0.1.34",
"deps": [
{
"name": "once_cell",
"req": "^1.13.0",
"features": [],
"optional": true,
"default_features": true,
"target": null,
"kind": "normal"
},
{
"name": "valuable",
"req": "^0.1.0",
"features": [],
"optional": true,
"default_features": false,
"target": "cfg(tracing_unstable)",
"kind": "normal"
}
],
"cksum": "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678",
"features": {
"std": [
"once_cell"
]
},
"features2": {
"default": [
"std",
"valuable?/std"
]
},
"yanked": false,
"rust_version": "1.65.0",
"v": 2
}
... other versions
Here, "once_cell"'s "default_features" is true. This doesn't seem to happen for all versions (only version 0.1.34 for the tracing-core crate).
I've found the same error for some other crates and versions: