Skip to content

Non-deterministic output #389

@dtolnay

Description

@dtolnay

I was surprised to find that cargo outdated produces wildly different output each time I run it. I am unsure how to interpret what is going on here.

Repro:

$ cargo new repro
$ cd repro
$ cargo add image

Sometimes when I run cargo outdated, it shows this:

Name                             Project  Compat   Latest   Kind    Platform
----                             -------  ------   ------   ----    --------
libfuzzer-sys->arbitrary         1.3.2    0.4.7    0.4.7    Normal  ---
libfuzzer-sys->once_cell         1.19.0   Removed  Removed  Normal  ---
num-derive->syn                  2.0.52   1.0.109  1.0.109  Normal  ---
proc-macro2->unicode-ident       1.0.12   Removed  Removed  Normal  ---
profiling->profiling-procmacros  1.0.15   Removed  Removed  Normal  ---
profiling-procmacros->quote      1.0.35   Removed  Removed  Normal  ---
profiling-procmacros->syn        2.0.52   Removed  Removed  Normal  ---
quote->proc-macro2               1.0.79   Removed  Removed  Normal  ---
rav1e->arbitrary                 1.3.2    0.4.7    0.4.7    Normal  cfg(fuzzing)
rav1e->bitstream-io              2.2.0    1.10.0   1.10.0   Normal  ---
rav1e->built                     0.7.1    0.5.2    0.5.2    Build   ---
rav1e->itertools                 0.12.1   0.10.5   0.10.5   Normal  ---
rav1e->libfuzzer-sys             0.4.7    0.3.5    0.3.5    Normal  cfg(fuzzing)
rav1e->num-derive                0.4.2    0.3.3    0.3.3    Normal  ---
rav1e->profiling                 1.0.15   Removed  Removed  Normal  ---
ravif->rav1e                     0.7.1    0.6.6    0.6.6    Normal  ---
syn->proc-macro2                 1.0.79   Removed  Removed  Normal  ---
syn->quote                       1.0.35   Removed  Removed  Normal  ---
syn->unicode-ident               1.0.12   Removed  Removed  Normal  ---

Sometimes it shows this:

Name                                              Project  Compat   Latest   Kind    Platform
----                                              -------  ------   ------   ----    --------
built->cargo-lock                                 8.0.3    Removed  Removed  Normal  ---
cargo-lock->semver                                1.0.22   Removed  Removed  Normal  ---
cargo-lock->serde                                 1.0.197  Removed  Removed  Normal  ---
cargo-lock->toml                                  0.5.11   Removed  Removed  Normal  ---
cargo-lock->url                                   2.5.0    Removed  Removed  Normal  ---
form_urlencoded->percent-encoding                 2.3.1    Removed  Removed  Normal  ---
idna->unicode-bidi                                0.3.15   Removed  Removed  Normal  ---
idna->unicode-normalization                       0.1.23   Removed  Removed  Normal  ---
libfuzzer-sys->arbitrary                          0.4.7    1.3.2    1.3.2    Normal  ---
num-derive->syn                                   1.0.109  2.0.52   2.0.52   Normal  ---
proc-macro2->unicode-ident                        1.0.12   Removed  Removed  Normal  ---
quote->proc-macro2                                1.0.79   Removed  Removed  Normal  ---
rav1e->arbitrary                                  0.4.7    1.3.2    1.3.2    Normal  cfg(fuzzing)
rav1e->bitstream-io                               1.10.0   2.2.0    2.2.0    Normal  ---
rav1e->built                                      0.5.2    0.7.1    0.7.1    Build   ---
rav1e->itertools                                  0.10.5   0.12.1   0.12.1   Normal  ---
rav1e->libfuzzer-sys                              0.3.5    0.4.7    0.4.7    Normal  cfg(fuzzing)
rav1e->num-derive                                 0.3.3    0.4.2    0.4.2    Normal  ---
rav1e->rust_hawktracer                            0.7.0    Removed  Removed  Normal  ---
rav1e->rustc_version                              0.4.0    Removed  Removed  Build   ---
rav1e->wasm-bindgen                               0.2.92   Removed  Removed  Normal  ---
ravif->rav1e                                      0.6.6    0.7.1    0.7.1    Normal  cfg(target = "wasm32-unknown-unknown")
rust_hawktracer->rust_hawktracer_normal_macro     0.4.1    Removed  Removed  Normal  ---
rust_hawktracer->rust_hawktracer_proc_macro       0.4.1    Removed  Removed  Normal  ---
rustc_version->semver                             1.0.22   Removed  Removed  Normal  ---
semver->serde                                     1.0.197  Removed  Removed  Normal  ---
serde->serde_derive                               1.0.197  Removed  Removed  Normal  ---
serde_derive->proc-macro2                         1.0.79   Removed  Removed  Normal  ---
serde_derive->quote                               1.0.35   Removed  Removed  Normal  ---
serde_derive->syn                                 2.0.52   Removed  Removed  Normal  ---
syn->proc-macro2                                  1.0.79   Removed  Removed  Normal  ---
syn->quote                                        1.0.35   Removed  Removed  Normal  ---
syn->unicode-ident                                1.0.12   Removed  Removed  Normal  ---
tinyvec->tinyvec_macros                           0.1.1    Removed  Removed  Normal  ---
toml->serde                                       1.0.197  Removed  Removed  Normal  ---
unicode-normalization->tinyvec                    1.6.0    Removed  Removed  Normal  ---
url->form_urlencoded                              1.2.1    Removed  Removed  Normal  ---
url->idna                                         0.5.0    Removed  Removed  Normal  ---
url->percent-encoding                             2.3.1    Removed  Removed  Normal  ---
wasm-bindgen->cfg-if                              1.0.0    Removed  Removed  Normal  ---
wasm-bindgen->wasm-bindgen-macro                  0.2.92   Removed  Removed  Normal  ---
wasm-bindgen-backend->bumpalo                     3.15.4   Removed  Removed  Normal  ---
wasm-bindgen-backend->log                         0.4.21   Removed  Removed  Normal  ---
wasm-bindgen-backend->once_cell                   1.19.0   Removed  Removed  Normal  ---
wasm-bindgen-backend->proc-macro2                 1.0.79   Removed  Removed  Normal  ---
wasm-bindgen-backend->quote                       1.0.35   Removed  Removed  Normal  ---
wasm-bindgen-backend->syn                         2.0.52   Removed  Removed  Normal  ---
wasm-bindgen-backend->wasm-bindgen-shared         0.2.92   Removed  Removed  Normal  ---
wasm-bindgen-macro->quote                         1.0.35   Removed  Removed  Normal  ---
wasm-bindgen-macro->wasm-bindgen-macro-support    0.2.92   Removed  Removed  Normal  ---
wasm-bindgen-macro-support->proc-macro2           1.0.79   Removed  Removed  Normal  ---
wasm-bindgen-macro-support->quote                 1.0.35   Removed  Removed  Normal  ---
wasm-bindgen-macro-support->syn                   2.0.52   Removed  Removed  Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-backend  0.2.92   Removed  Removed  Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-shared   0.2.92   Removed  Removed  Normal  ---

Other times it shows this:

Name                                              Project  Compat   Latest   Kind    Platform
----                                              -------  ------   ------   ----    --------
built->cargo-lock                                 8.0.3    Removed  ---      Normal  ---
cargo-lock->semver                                1.0.22   Removed  ---      Normal  ---
cargo-lock->serde                                 1.0.197  Removed  ---      Normal  ---
cargo-lock->toml                                  0.5.11   Removed  ---      Normal  ---
cargo-lock->url                                   2.5.0    Removed  ---      Normal  ---
form_urlencoded->percent-encoding                 2.3.1    Removed  ---      Normal  ---
idna->unicode-bidi                                0.3.15   Removed  ---      Normal  ---
idna->unicode-normalization                       0.1.23   Removed  ---      Normal  ---
libfuzzer-sys->arbitrary                          0.4.7    1.3.2    ---      Normal  ---
libfuzzer-sys->arbitrary                          1.3.2    ---      0.4.7    Normal  ---
libfuzzer-sys->once_cell                          1.19.0   ---      Removed  Normal  ---
num-derive->syn                                   1.0.109  2.0.52   ---      Normal  ---
num-derive->syn                                   2.0.52   ---      1.0.109  Normal  ---
proc-macro2->unicode-ident                        1.0.12   ---      Removed  Normal  ---
proc-macro2->unicode-ident                        1.0.12   Removed  ---      Normal  ---
profiling->profiling-procmacros                   1.0.15   ---      Removed  Normal  ---
profiling-procmacros->quote                       1.0.35   ---      Removed  Normal  ---
profiling-procmacros->syn                         2.0.52   ---      Removed  Normal  ---
quote->proc-macro2                                1.0.79   ---      Removed  Normal  ---
quote->proc-macro2                                1.0.79   Removed  ---      Normal  ---
rav1e->arbitrary                                  0.4.7    1.3.2    ---      Normal  cfg(fuzzing)
rav1e->arbitrary                                  1.3.2    ---      0.4.7    Normal  cfg(fuzzing)
rav1e->bitstream-io                               1.10.0   2.2.0    ---      Normal  ---
rav1e->bitstream-io                               2.2.0    ---      1.10.0   Normal  ---
rav1e->built                                      0.5.2    0.7.1    ---      Build   ---
rav1e->built                                      0.7.1    ---      0.5.2    Build   ---
rav1e->itertools                                  0.10.5   0.12.1   ---      Normal  ---
rav1e->itertools                                  0.12.1   ---      0.10.5   Normal  ---
rav1e->libfuzzer-sys                              0.3.5    0.4.7    ---      Normal  cfg(fuzzing)
rav1e->libfuzzer-sys                              0.4.7    ---      0.3.5    Normal  cfg(fuzzing)
rav1e->num-derive                                 0.3.3    0.4.2    ---      Normal  ---
rav1e->num-derive                                 0.4.2    ---      0.3.3    Normal  ---
rav1e->profiling                                  1.0.15   ---      Removed  Normal  ---
rav1e->rust_hawktracer                            0.7.0    Removed  ---      Normal  ---
rav1e->rustc_version                              0.4.0    Removed  ---      Build   ---
rav1e->wasm-bindgen                               0.2.92   Removed  ---      Normal  ---
ravif->rav1e                                      0.6.6    0.7.1    ---      Normal  cfg(target = "wasm32-unknown-unknown")
ravif->rav1e                                      0.7.1    ---      0.6.6    Normal  ---
rust_hawktracer->rust_hawktracer_normal_macro     0.4.1    Removed  ---      Normal  ---
rust_hawktracer->rust_hawktracer_proc_macro       0.4.1    Removed  ---      Normal  ---
rustc_version->semver                             1.0.22   Removed  ---      Normal  ---
semver->serde                                     1.0.197  Removed  ---      Normal  ---
serde->serde_derive                               1.0.197  Removed  ---      Normal  ---
serde_derive->proc-macro2                         1.0.79   Removed  ---      Normal  ---
serde_derive->quote                               1.0.35   Removed  ---      Normal  ---
serde_derive->syn                                 2.0.52   Removed  ---      Normal  ---
syn->proc-macro2                                  1.0.79   ---      Removed  Normal  ---
syn->proc-macro2                                  1.0.79   Removed  ---      Normal  ---
syn->quote                                        1.0.35   ---      Removed  Normal  ---
syn->quote                                        1.0.35   Removed  ---      Normal  ---
syn->unicode-ident                                1.0.12   ---      Removed  Normal  ---
syn->unicode-ident                                1.0.12   Removed  ---      Normal  ---
tinyvec->tinyvec_macros                           0.1.1    Removed  ---      Normal  ---
toml->serde                                       1.0.197  Removed  ---      Normal  ---
unicode-normalization->tinyvec                    1.6.0    Removed  ---      Normal  ---
url->form_urlencoded                              1.2.1    Removed  ---      Normal  ---
url->idna                                         0.5.0    Removed  ---      Normal  ---
url->percent-encoding                             2.3.1    Removed  ---      Normal  ---
wasm-bindgen->cfg-if                              1.0.0    Removed  ---      Normal  ---
wasm-bindgen->wasm-bindgen-macro                  0.2.92   Removed  ---      Normal  ---
wasm-bindgen-backend->bumpalo                     3.15.4   Removed  ---      Normal  ---
wasm-bindgen-backend->log                         0.4.21   Removed  ---      Normal  ---
wasm-bindgen-backend->once_cell                   1.19.0   Removed  ---      Normal  ---
wasm-bindgen-backend->proc-macro2                 1.0.79   Removed  ---      Normal  ---
wasm-bindgen-backend->quote                       1.0.35   Removed  ---      Normal  ---
wasm-bindgen-backend->syn                         2.0.52   Removed  ---      Normal  ---
wasm-bindgen-backend->wasm-bindgen-shared         0.2.92   Removed  ---      Normal  ---
wasm-bindgen-macro->quote                         1.0.35   Removed  ---      Normal  ---
wasm-bindgen-macro->wasm-bindgen-macro-support    0.2.92   Removed  ---      Normal  ---
wasm-bindgen-macro-support->proc-macro2           1.0.79   Removed  ---      Normal  ---
wasm-bindgen-macro-support->quote                 1.0.35   Removed  ---      Normal  ---
wasm-bindgen-macro-support->syn                   2.0.52   Removed  ---      Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-backend  0.2.92   Removed  ---      Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-shared   0.2.92   Removed  ---      Normal  ---

Other times it shows this:

Name                                              Project  Compat   Latest   Kind    Platform
----                                              -------  ------   ------   ----    --------
built->cargo-lock                                 8.0.3    ---      Removed  Normal  ---
cargo-lock->semver                                1.0.22   ---      Removed  Normal  ---
cargo-lock->serde                                 1.0.197  ---      Removed  Normal  ---
cargo-lock->toml                                  0.5.11   ---      Removed  Normal  ---
cargo-lock->url                                   2.5.0    ---      Removed  Normal  ---
form_urlencoded->percent-encoding                 2.3.1    ---      Removed  Normal  ---
idna->unicode-bidi                                0.3.15   ---      Removed  Normal  ---
idna->unicode-normalization                       0.1.23   ---      Removed  Normal  ---
libfuzzer-sys->arbitrary                          0.4.7    ---      1.3.2    Normal  ---
libfuzzer-sys->arbitrary                          1.3.2    0.4.7    ---      Normal  ---
libfuzzer-sys->once_cell                          1.19.0   Removed  ---      Normal  ---
num-derive->syn                                   1.0.109  ---      2.0.52   Normal  ---
num-derive->syn                                   2.0.52   1.0.109  ---      Normal  ---
proc-macro2->unicode-ident                        1.0.12   ---      Removed  Normal  ---
proc-macro2->unicode-ident                        1.0.12   Removed  ---      Normal  ---
profiling->profiling-procmacros                   1.0.15   Removed  ---      Normal  ---
profiling-procmacros->quote                       1.0.35   Removed  ---      Normal  ---
profiling-procmacros->syn                         2.0.52   Removed  ---      Normal  ---
quote->proc-macro2                                1.0.79   ---      Removed  Normal  ---
quote->proc-macro2                                1.0.79   Removed  ---      Normal  ---
rav1e->arbitrary                                  0.4.7    ---      1.3.2    Normal  cfg(fuzzing)
rav1e->arbitrary                                  1.3.2    0.4.7    ---      Normal  cfg(fuzzing)
rav1e->bitstream-io                               1.10.0   ---      2.2.0    Normal  ---
rav1e->bitstream-io                               2.2.0    1.10.0   ---      Normal  ---
rav1e->built                                      0.5.2    ---      0.7.1    Build   ---
rav1e->built                                      0.7.1    0.5.2    ---      Build   ---
rav1e->itertools                                  0.10.5   ---      0.12.1   Normal  ---
rav1e->itertools                                  0.12.1   0.10.5   ---      Normal  ---
rav1e->libfuzzer-sys                              0.3.5    ---      0.4.7    Normal  cfg(fuzzing)
rav1e->libfuzzer-sys                              0.4.7    0.3.5    ---      Normal  cfg(fuzzing)
rav1e->num-derive                                 0.3.3    ---      0.4.2    Normal  ---
rav1e->num-derive                                 0.4.2    0.3.3    ---      Normal  ---
rav1e->profiling                                  1.0.15   Removed  ---      Normal  ---
rav1e->rust_hawktracer                            0.7.0    ---      Removed  Normal  ---
rav1e->rustc_version                              0.4.0    ---      Removed  Build   ---
rav1e->wasm-bindgen                               0.2.92   ---      Removed  Normal  ---
ravif->rav1e                                      0.6.6    ---      0.7.1    Normal  cfg(target = "wasm32-unknown-unknown")
ravif->rav1e                                      0.7.1    0.6.6    ---      Normal  ---
rust_hawktracer->rust_hawktracer_normal_macro     0.4.1    ---      Removed  Normal  ---
rust_hawktracer->rust_hawktracer_proc_macro       0.4.1    ---      Removed  Normal  ---
rustc_version->semver                             1.0.22   ---      Removed  Normal  ---
semver->serde                                     1.0.197  ---      Removed  Normal  ---
serde->serde_derive                               1.0.197  ---      Removed  Normal  ---
serde_derive->proc-macro2                         1.0.79   ---      Removed  Normal  ---
serde_derive->quote                               1.0.35   ---      Removed  Normal  ---
serde_derive->syn                                 2.0.52   ---      Removed  Normal  ---
syn->proc-macro2                                  1.0.79   ---      Removed  Normal  ---
syn->proc-macro2                                  1.0.79   Removed  ---      Normal  ---
syn->quote                                        1.0.35   ---      Removed  Normal  ---
syn->quote                                        1.0.35   Removed  ---      Normal  ---
syn->unicode-ident                                1.0.12   ---      Removed  Normal  ---
syn->unicode-ident                                1.0.12   Removed  ---      Normal  ---
tinyvec->tinyvec_macros                           0.1.1    ---      Removed  Normal  ---
toml->serde                                       1.0.197  ---      Removed  Normal  ---
unicode-normalization->tinyvec                    1.6.0    ---      Removed  Normal  ---
url->form_urlencoded                              1.2.1    ---      Removed  Normal  ---
url->idna                                         0.5.0    ---      Removed  Normal  ---
url->percent-encoding                             2.3.1    ---      Removed  Normal  ---
wasm-bindgen->cfg-if                              1.0.0    ---      Removed  Normal  ---
wasm-bindgen->wasm-bindgen-macro                  0.2.92   ---      Removed  Normal  ---
wasm-bindgen-backend->bumpalo                     3.15.4   ---      Removed  Normal  ---
wasm-bindgen-backend->log                         0.4.21   ---      Removed  Normal  ---
wasm-bindgen-backend->once_cell                   1.19.0   ---      Removed  Normal  ---
wasm-bindgen-backend->proc-macro2                 1.0.79   ---      Removed  Normal  ---
wasm-bindgen-backend->quote                       1.0.35   ---      Removed  Normal  ---
wasm-bindgen-backend->syn                         2.0.52   ---      Removed  Normal  ---
wasm-bindgen-backend->wasm-bindgen-shared         0.2.92   ---      Removed  Normal  ---
wasm-bindgen-macro->quote                         1.0.35   ---      Removed  Normal  ---
wasm-bindgen-macro->wasm-bindgen-macro-support    0.2.92   ---      Removed  Normal  ---
wasm-bindgen-macro-support->proc-macro2           1.0.79   ---      Removed  Normal  ---
wasm-bindgen-macro-support->quote                 1.0.35   ---      Removed  Normal  ---
wasm-bindgen-macro-support->syn                   2.0.52   ---      Removed  Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-backend  0.2.92   ---      Removed  Normal  ---
wasm-bindgen-macro-support->wasm-bindgen-shared   0.2.92   ---      Removed  Normal  ---

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