[INFO] cloning repository https://github.com/alasco-tech/alasco-money [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alasco-tech/alasco-money" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falasco-tech%2Falasco-money", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falasco-tech%2Falasco-money'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 64358651d8448e270c743b77279b63050cc66165 [INFO] checking alasco-tech/alasco-money/64358651d8448e270c743b77279b63050cc66165 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falasco-tech%2Falasco-money" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/alasco-tech/alasco-money on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/alasco-tech/alasco-money [INFO] finished tweaking git repo https://github.com/alasco-tech/alasco-money [INFO] tweaked toml for git repo https://github.com/alasco-tech/alasco-money written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/alasco-tech/alasco-money already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2352d17c89bc5037440e09c637d70671826ce21c188d01a8767a65faababc02a [INFO] running `Command { std: "docker" "start" "-a" "2352d17c89bc5037440e09c637d70671826ce21c188d01a8767a65faababc02a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2352d17c89bc5037440e09c637d70671826ce21c188d01a8767a65faababc02a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2352d17c89bc5037440e09c637d70671826ce21c188d01a8767a65faababc02a", kill_on_drop: false }` [INFO] [stdout] 2352d17c89bc5037440e09c637d70671826ce21c188d01a8767a65faababc02a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7843f00a3db47caf968ea37f1b917e717eab017298cbf2da2bd948d4e0665ef5 [INFO] running `Command { std: "docker" "start" "-a" "7843f00a3db47caf968ea37f1b917e717eab017298cbf2da2bd948d4e0665ef5", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling target-lexicon v0.12.14 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling rust_decimal v1.35.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking anstyle-query v1.1.0 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling indoc v2.0.5 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking unindent v0.2.3 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling pyo3-build-config v0.22.0 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling pyo3-macros-backend v0.22.0 [INFO] [stderr] Compiling pyo3-ffi v0.22.0 [INFO] [stderr] Compiling pyo3 v0.22.0 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Compiling pyo3-macros v0.22.0 [INFO] [stderr] Checking alasco-money v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `alasco_money` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/decimals.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] * src/money.rs [INFO] [stderr] * src/money_vat.rs [INFO] [stderr] * src/money_vat_ratio.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error: expected item, found `{` [INFO] [stderr] --> src/money.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | { unsafe #[pymethods]} [INFO] [stderr] | ^ expected item [INFO] [stderr] | [INFO] [stderr] = note: for a full list of items that can appear in modules, see [INFO] [stderr] [INFO] [stderr] error: expected item, found `{` [INFO] [stderr] --> src/money_vat.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | { unsafe #[pymethods]} [INFO] [stderr] | ^ expected item [INFO] [stderr] | [INFO] [stderr] = note: for a full list of items that can appear in modules, see [INFO] [stderr] [INFO] [stderr] error: expected item, found `{` [INFO] [stderr] --> src/money_vat_ratio.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | { unsafe #[pymethods]} [INFO] [stderr] | ^ expected item [INFO] [stderr] | [INFO] [stderr] = note: for a full list of items that can appear in modules, see [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::money::Money` [INFO] [stderr] --> src/decimals.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use crate::money::Money; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Money` in `money` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::money::Money` [INFO] [stderr] --> src/lib.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | use crate::money::Money; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ no `Money` in `money` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::money_vat::MoneyWithVAT` [INFO] [stderr] --> src/lib.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::money_vat::MoneyWithVAT; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MoneyWithVAT` in `money_vat` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::money_vat_ratio::MoneyWithVATRatio` [INFO] [stderr] --> src/lib.rs:20:9 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::money_vat_ratio::MoneyWithVATRatio; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MoneyWithVATRatio` in `money_vat_ratio` [INFO] [stderr] [INFO] [stderr] error[E0432]: unresolved import `crate::money::sum_` [INFO] [stderr] --> src/lib.rs:23:9 [INFO] [stderr] | [INFO] [stderr] 23 | use crate::money::sum_; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ no `sum_` in `money` [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0432`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | fn __add__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | fn __radd__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | fn __sub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | fn __rsub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:113:16 [INFO] [stdout] | [INFO] [stdout] 113 | fn __mul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | fn __rmul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | fn __truediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | fn __rtruediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn round(&self, n: Option) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | fn __str__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | fn __repr__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | fn __hash__(&self) -> u64 { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn __neg__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | fn __abs__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | fn __bool__(&self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:185:20 [INFO] [stdout] | [INFO] [stdout] 185 | fn __richcmp__(&self, other: &Self, op: CompareOp) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn for_json(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:199:24 [INFO] [stdout] | [INFO] [stdout] 199 | fn validate(value: Bound, _info: Option>) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:211:23 [INFO] [stdout] | [INFO] [stdout] 211 | _core_schema: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:212:19 [INFO] [stdout] | [INFO] [stdout] 212 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:224:18 [INFO] [stdout] | [INFO] [stdout] 224 | _source: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn copy(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn __copy__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:277:25 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:277:39 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:284:20 [INFO] [stdout] | [INFO] [stdout] 284 | pub fn sum_(elems: Bound) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:179:16 [INFO] [stdout] | [INFO] [stdout] 179 | fn __add__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:211:17 [INFO] [stdout] | [INFO] [stdout] 211 | fn __radd__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:215:16 [INFO] [stdout] | [INFO] [stdout] 215 | fn __sub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:253:17 [INFO] [stdout] | [INFO] [stdout] 253 | fn __rsub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:257:16 [INFO] [stdout] | [INFO] [stdout] 257 | fn __mul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | fn __rmul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:289:20 [INFO] [stdout] | [INFO] [stdout] 289 | fn __truediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:311:21 [INFO] [stdout] | [INFO] [stdout] 311 | fn __rtruediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:51:18 [INFO] [stdout] | [INFO] [stdout] 51 | fn get_gross(&self) -> Money { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:58:21 [INFO] [stdout] | [INFO] [stdout] 58 | fn get_tax_rate(&self) -> Decimal { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:70:33 [INFO] [stdout] | [INFO] [stdout] 70 | fn get_tax_rate_for_display(&self) -> Decimal { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | fn get_is_positive(&self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:95:24 [INFO] [stdout] | [INFO] [stdout] 95 | fn get_is_negative(&self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:99:29 [INFO] [stdout] | [INFO] [stdout] 99 | fn is_equal_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:99:43 [INFO] [stdout] | [INFO] [stdout] 99 | fn is_equal_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:103:29 [INFO] [stdout] | [INFO] [stdout] 103 | fn is_lower_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:103:43 [INFO] [stdout] | [INFO] [stdout] 103 | fn is_lower_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:107:38 [INFO] [stdout] | [INFO] [stdout] 107 | fn is_lower_or_equal_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:107:52 [INFO] [stdout] | [INFO] [stdout] 107 | fn is_lower_or_equal_up_to_cents(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:119:25 [INFO] [stdout] | [INFO] [stdout] 119 | fn rounded_to_cents(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:137:41 [INFO] [stdout] | [INFO] [stdout] 137 | fn rounded_to_money_field_precision(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:144:16 [INFO] [stdout] | [INFO] [stdout] 144 | fn __str__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | fn __repr__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:155:17 [INFO] [stdout] | [INFO] [stdout] 155 | fn __hash__(&self) -> u64 { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:161:16 [INFO] [stdout] | [INFO] [stdout] 161 | fn __neg__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:168:16 [INFO] [stdout] | [INFO] [stdout] 168 | fn __abs__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | fn __bool__(&self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:337:20 [INFO] [stdout] | [INFO] [stdout] 337 | fn __richcmp__(&self, other: &Self, op: CompareOp) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:393:24 [INFO] [stdout] | [INFO] [stdout] 393 | fn ratio(dividend: Self, divisor: Self) -> PyResult { [INFO] [stdout] | ^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:393:39 [INFO] [stdout] | [INFO] [stdout] 393 | fn ratio(dividend: Self, divisor: Self) -> PyResult { [INFO] [stdout] | ^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:480:27 [INFO] [stdout] | [INFO] [stdout] 480 | fn fast_sum(iterable: Bound) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:502:37 [INFO] [stdout] | [INFO] [stdout] 502 | fn fast_sum_with_none(iterable: Bound) -> PyResult> { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:529:17 [INFO] [stdout] | [INFO] [stdout] 529 | fn for_json(&self) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:540:24 [INFO] [stdout] | [INFO] [stdout] 540 | fn validate(value: Bound, _info: Option>) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:563:23 [INFO] [stdout] | [INFO] [stdout] 563 | _core_schema: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:564:19 [INFO] [stdout] | [INFO] [stdout] 564 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:590:18 [INFO] [stdout] | [INFO] [stdout] 590 | _source: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:591:19 [INFO] [stdout] | [INFO] [stdout] 591 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:644:17 [INFO] [stdout] | [INFO] [stdout] 644 | pub fn copy(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:648:21 [INFO] [stdout] | [INFO] [stdout] 648 | pub fn __copy__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:652:25 [INFO] [stdout] | [INFO] [stdout] 652 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat.rs:652:39 [INFO] [stdout] | [INFO] [stdout] 652 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | fn __add__(&self, other: Self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | fn __sub__(&self, other: Self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:68:16 [INFO] [stdout] | [INFO] [stdout] 68 | fn __mul__(&self, other: f64) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | fn __truediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:96:15 [INFO] [stdout] | [INFO] [stdout] 96 | fn __eq__(&self, other: Self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | fn new(net_ratio: Bound, gross_ratio: Bound) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:22:50 [INFO] [stdout] | [INFO] [stdout] 22 | fn new(net_ratio: Bound, gross_ratio: Bound) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:36:16 [INFO] [stdout] | [INFO] [stdout] 36 | fn __str__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:40:17 [INFO] [stdout] | [INFO] [stdout] 40 | fn __repr__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | fn __neg__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | fn for_json(&self) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:119:24 [INFO] [stdout] | [INFO] [stdout] 119 | fn validate(value: Bound, _info: Option>) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:142:23 [INFO] [stdout] | [INFO] [stdout] 142 | _core_schema: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:143:19 [INFO] [stdout] | [INFO] [stdout] 143 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:169:18 [INFO] [stdout] | [INFO] [stdout] 169 | _source: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | pub fn copy(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn __copy__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:222:25 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money_vat_ratio.rs:222:39 [INFO] [stdout] | [INFO] [stdout] 222 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/decimals.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | if let Ok(_) = obj.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 11 | Err(PyValueError::new_err("Invalid decimal")) [INFO] [stdout] 12 | } else if let Ok(mut amount) = obj.extract::() { [INFO] [stdout] | ------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 18 | } else if let Ok(f) = obj.extract::() { [INFO] [stdout] | -------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 19 | Ok(Decimal::from_f64(f).unwrap()) [INFO] [stdout] 20 | } else if let Ok(s) = obj.extract::<&str>() { [INFO] [stdout] | --------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/decimals.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | } else if let Ok(mut amount) = obj.extract::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/decimals.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | } else if let Ok(f) = obj.extract::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/decimals.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | } else if let Ok(s) = obj.extract::<&str>() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/decimals.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 10 ~ match obj.extract::() { Ok(_) => { [INFO] [stdout] 11 | Err(PyValueError::new_err("Invalid decimal")) [INFO] [stdout] 12 ~ } _ => { match obj.extract::() { Ok(mut amount) => { [INFO] [stdout] 13 | if obj.to_string().trim_start().starts_with("-") { [INFO] [stdout] ... [INFO] [stdout] 17 | Ok(amount) [INFO] [stdout] 18 ~ } _ => { match obj.extract::() { Ok(f) => { [INFO] [stdout] 19 | Ok(Decimal::from_f64(f).unwrap()) [INFO] [stdout] 20 ~ } _ => { match obj.extract::<&str>() { Ok(s) => { [INFO] [stdout] 21 | let re = Regex::new(r"^0(\.0+)?[eE][+-]\d+$").unwrap(); [INFO] [stdout] ... [INFO] [stdout] 26 | } [INFO] [stdout] 27 ~ } _ => { [INFO] [stdout] 28 | Err(PyValueError::new_err("Invalid decimal")) [INFO] [stdout] 29 ~ }}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if let Some(obj) = amount { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 25 ~ match amount { Some(obj) => { [INFO] [stdout] 26 | if let Ok(money) = obj.extract::() { [INFO] [stdout] ... [INFO] [stdout] 32 | } [INFO] [stdout] 33 ~ } _ => { [INFO] [stdout] 34 | Ok(Self { [INFO] [stdout] 35 | amount: Decimal::new(0, 0), [INFO] [stdout] 36 | }) [INFO] [stdout] 37 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | if let Ok(money) = obj.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 27 | Ok(money) [INFO] [stdout] 28 | } else if let Ok(decimal) = decimal_extract(obj) { [INFO] [stdout] | -------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | } else if let Ok(decimal) = decimal_extract(obj) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 26 ~ match obj.extract::() { Ok(money) => { [INFO] [stdout] 27 | Ok(money) [INFO] [stdout] 28 ~ } _ => { match decimal_extract(obj) { Ok(decimal) => { [INFO] [stdout] 29 | Ok(Self { amount: decimal }) [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | Err(PyValueError::new_err("Invalid type")) [INFO] [stdout] 32 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 74 | if let Ok(other_money) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 78 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 74 ~ match other.extract::() { Ok(other_money) => { [INFO] [stdout] 75 | Ok(Self { [INFO] [stdout] 76 | amount: decimal_add(self.amount, other_money.amount), [INFO] [stdout] 77 | }) [INFO] [stdout] 78 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 79 | Ok(Self { [INFO] [stdout] 80 | amount: decimal_add(self.amount, other_decimal), [INFO] [stdout] 81 | }) [INFO] [stdout] 82 ~ } _ => { [INFO] [stdout] 83 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 84 | "Unsupported operand", [INFO] [stdout] 85 | )) [INFO] [stdout] 86 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | if let Ok(other_money) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 98 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:102:9 [INFO] [stdout] | [INFO] [stdout] 102 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match other.extract::() { Ok(other_money) => { [INFO] [stdout] 95 | Ok(Self { [INFO] [stdout] 96 | amount: decimal_add(self.amount, -other_money.amount), [INFO] [stdout] 97 | }) [INFO] [stdout] 98 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 99 | Ok(Self { [INFO] [stdout] 100 | amount: decimal_add(self.amount, -other_decimal), [INFO] [stdout] 101 | }) [INFO] [stdout] 102 ~ } _ => { [INFO] [stdout] 103 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 104 | "Unsupported operand", [INFO] [stdout] 105 | )) [INFO] [stdout] 106 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 115 | Ok(Self { [INFO] [stdout] 116 | amount: decimal_mult(self.amount, other_decimal), [INFO] [stdout] 117 | }) [INFO] [stdout] 118 ~ } _ => { [INFO] [stdout] 119 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 120 | "Unsupported operand", [INFO] [stdout] 121 | )) [INFO] [stdout] 122 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | if let Ok(other_money) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 139 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:139:13 [INFO] [stdout] | [INFO] [stdout] 139 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match other.extract::() { Ok(other_money) => { [INFO] [stdout] 132 | if other_money.amount == Decimal::new(0, 0) { [INFO] [stdout] ... [INFO] [stdout] 138 | } [INFO] [stdout] 139 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 140 | if other_decimal == Decimal::new(0, 0) { [INFO] [stdout] ... [INFO] [stdout] 149 | } [INFO] [stdout] 150 ~ } _ => { [INFO] [stdout] 151 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 152 | "Unsupported operand", [INFO] [stdout] 153 | )) [INFO] [stdout] 154 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:166:16 [INFO] [stdout] | [INFO] [stdout] 166 | if let Ok(other_money) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 167 | Ok((decimal_div(other_money.amount, self.amount)).into_py(py)) [INFO] [stdout] 168 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:168:13 [INFO] [stdout] | [INFO] [stdout] 168 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 166 ~ match other.extract::() { Ok(other_money) => { [INFO] [stdout] 167 | Ok((decimal_div(other_money.amount, self.amount)).into_py(py)) [INFO] [stdout] 168 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 169 | Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 172 | .into_py(py)) [INFO] [stdout] 173 ~ } _ => { [INFO] [stdout] 174 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 175 | "Unsupported operand", [INFO] [stdout] 176 | )) [INFO] [stdout] 177 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:200:12 [INFO] [stdout] | [INFO] [stdout] 200 | if let Ok(money) = value.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 201 | return Ok(money); [INFO] [stdout] 202 | } else if let Ok(decimal) = value.extract::() { [INFO] [stdout] | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:202:9 [INFO] [stdout] | [INFO] [stdout] 202 | } else if let Ok(decimal) = value.extract::() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 200 ~ match value.extract::() { Ok(money) => { [INFO] [stdout] 201 | return Ok(money); [INFO] [stdout] 202 ~ } _ => { match value.extract::() { Ok(decimal) => { [INFO] [stdout] 203 | return Ok(Self { amount: decimal }); [INFO] [stdout] 204 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | if let Ok(item) = elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:293:9 [INFO] [stdout] | [INFO] [stdout] 293 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 289 ~ match elem { Ok(item) => { [INFO] [stdout] 290 | if let Ok(Some(value)) = item.extract::>() { [INFO] [stdout] 291 | amount = decimal_add(amount, value.amount); [INFO] [stdout] 292 | } [INFO] [stdout] 293 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money.rs:290:16 [INFO] [stdout] | [INFO] [stdout] 290 | if let Ok(Some(value)) = item.extract::>() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money.rs:292:13 [INFO] [stdout] | [INFO] [stdout] 292 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 290 ~ match item.extract::>() { Ok(Some(value)) => { [INFO] [stdout] 291 | amount = decimal_add(amount, value.amount); [INFO] [stdout] 292 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 180 | if let Ok(other_money_with_vat) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 189 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 180 ~ match other.extract::() { Ok(other_money_with_vat) => { [INFO] [stdout] 181 | Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 188 | }) [INFO] [stdout] 189 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 190 | if other_decimal == Decimal::new(0, 0) { [INFO] [stdout] ... [INFO] [stdout] 203 | } [INFO] [stdout] 204 ~ } _ => { [INFO] [stdout] 205 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 206 | "Unsupported operand", [INFO] [stdout] 207 | )) [INFO] [stdout] 208 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | if let Ok(other_money_with_vat) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 231 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:231:9 [INFO] [stdout] | [INFO] [stdout] 231 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:246:9 [INFO] [stdout] | [INFO] [stdout] 246 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 216 ~ match other.extract::() { Ok(other_money_with_vat) => { [INFO] [stdout] 217 | Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 230 | }) [INFO] [stdout] 231 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 232 | if other_decimal == Decimal::new(0, 0) { [INFO] [stdout] ... [INFO] [stdout] 245 | } [INFO] [stdout] 246 ~ } _ => { [INFO] [stdout] 247 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 248 | "Unsupported operand", [INFO] [stdout] 249 | )) [INFO] [stdout] 250 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:258:12 [INFO] [stdout] | [INFO] [stdout] 258 | if let Ok(other_ratio) = other.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 269 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ---------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 269 | } else if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:278:9 [INFO] [stdout] | [INFO] [stdout] 278 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 258 ~ match other.extract::() { Ok(other_ratio) => { [INFO] [stdout] 259 | let net_value = decimal_mult(other_ratio.net_ratio, self.net.amount); [INFO] [stdout] ... [INFO] [stdout] 268 | }) [INFO] [stdout] 269 ~ } _ => { match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 270 | Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 277 | }) [INFO] [stdout] 278 ~ } _ => { [INFO] [stdout] 279 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 280 | "Unsupported operand", [INFO] [stdout] 281 | )) [INFO] [stdout] 282 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:354:16 [INFO] [stdout] | [INFO] [stdout] 354 | if let Ok(raw_value) = item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 354 ~ match item { Ok(raw_value) => { [INFO] [stdout] 355 | if let Ok(value) = raw_value.extract::() { [INFO] [stdout] ... [INFO] [stdout] 366 | } [INFO] [stdout] 367 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:355:20 [INFO] [stdout] | [INFO] [stdout] 355 | if let Ok(value) = raw_value.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:366:17 [INFO] [stdout] | [INFO] [stdout] 366 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ match raw_value.extract::() { Ok(value) => { [INFO] [stdout] 356 | max_net = Some(if let Some(true_max_net) = max_net { [INFO] [stdout] ... [INFO] [stdout] 365 | }); [INFO] [stdout] 366 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:510:16 [INFO] [stdout] | [INFO] [stdout] 510 | if let Ok(item) = elem { [INFO] [stdout] | ^^^^^^^^^^^^^^^---- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:516:13 [INFO] [stdout] | [INFO] [stdout] 516 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 510 ~ match elem { Ok(item) => { [INFO] [stdout] 511 | if let Ok(Some(value)) = item.extract::>() { [INFO] [stdout] ... [INFO] [stdout] 515 | } [INFO] [stdout] 516 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:511:20 [INFO] [stdout] | [INFO] [stdout] 511 | if let Ok(Some(value)) = item.extract::>() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 511 ~ match item.extract::>() { Ok(Some(value)) => { [INFO] [stdout] 512 | net_sum = decimal_add(net_sum, value.net.amount); [INFO] [stdout] 513 | tax_sum = decimal_add(tax_sum, value.tax.amount); [INFO] [stdout] 514 | any_value = true; [INFO] [stdout] 515 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:541:12 [INFO] [stdout] | [INFO] [stdout] 541 | if let Ok(money_with_vat) = value.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 542 | return Ok(money_with_vat); [INFO] [stdout] 543 | } else if let Ok(dict) = value.extract::>() { [INFO] [stdout] | -------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:543:9 [INFO] [stdout] | [INFO] [stdout] 543 | } else if let Ok(dict) = value.extract::>() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:556:9 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 541 ~ match value.extract::() { Ok(money_with_vat) => { [INFO] [stdout] 542 | return Ok(money_with_vat); [INFO] [stdout] 543 ~ } _ => { match value.extract::>() { Ok(dict) => { [INFO] [stdout] 544 | if let Ok(Some(net)) = dict.get_item("net") { [INFO] [stdout] ... [INFO] [stdout] 555 | } [INFO] [stdout] 556 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:544:16 [INFO] [stdout] | [INFO] [stdout] 544 | if let Ok(Some(net)) = dict.get_item("net") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:555:13 [INFO] [stdout] | [INFO] [stdout] 555 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 544 ~ match dict.get_item("net") { Ok(Some(net)) => { [INFO] [stdout] 545 | if let Ok(Some(tax)) = dict.get_item("tax") { [INFO] [stdout] ... [INFO] [stdout] 554 | } [INFO] [stdout] 555 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:545:20 [INFO] [stdout] | [INFO] [stdout] 545 | if let Ok(Some(tax)) = dict.get_item("tax") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:554:17 [INFO] [stdout] | [INFO] [stdout] 554 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 545 ~ match dict.get_item("tax") { Ok(Some(tax)) => { [INFO] [stdout] 546 | if let Ok(true_net) = net.extract::() { [INFO] [stdout] ... [INFO] [stdout] 553 | } [INFO] [stdout] 554 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:546:24 [INFO] [stdout] | [INFO] [stdout] 546 | if let Ok(true_net) = net.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:553:21 [INFO] [stdout] | [INFO] [stdout] 553 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 546 ~ match net.extract::() { Ok(true_net) => { [INFO] [stdout] 547 | if let Ok(true_tax) = tax.extract::() { [INFO] [stdout] ... [INFO] [stdout] 552 | } [INFO] [stdout] 553 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:547:28 [INFO] [stdout] | [INFO] [stdout] 547 | if let Ok(true_tax) = tax.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:552:25 [INFO] [stdout] | [INFO] [stdout] 552 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 547 ~ match tax.extract::() { Ok(true_tax) => { [INFO] [stdout] 548 | return Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 551 | }); [INFO] [stdout] 552 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:670:16 [INFO] [stdout] | [INFO] [stdout] 670 | if let Ok(Some(amount_with_vat)) = dict.get_item("amount_with_vat") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:682:13 [INFO] [stdout] | [INFO] [stdout] 682 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 670 ~ match dict.get_item("amount_with_vat") { Ok(Some(amount_with_vat)) => { [INFO] [stdout] 671 | if let Ok(true_amount_with_vat) = amount_with_vat.extract::>() { [INFO] [stdout] ... [INFO] [stdout] 681 | } [INFO] [stdout] 682 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:671:20 [INFO] [stdout] | [INFO] [stdout] 671 | if let Ok(true_amount_with_vat) = amount_with_vat.extract::>() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:681:17 [INFO] [stdout] | [INFO] [stdout] 681 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 671 ~ match amount_with_vat.extract::>() { Ok(true_amount_with_vat) => { [INFO] [stdout] 672 | if let Ok(Some(target)) = true_amount_with_vat.get_item(key) { [INFO] [stdout] ... [INFO] [stdout] 680 | } [INFO] [stdout] 681 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:672:24 [INFO] [stdout] | [INFO] [stdout] 672 | if let Ok(Some(target)) = true_amount_with_vat.get_item(key) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:680:21 [INFO] [stdout] | [INFO] [stdout] 680 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 672 ~ match true_amount_with_vat.get_item(key) { Ok(Some(target)) => { [INFO] [stdout] 673 | if let Ok(true_target) = target.extract::>() { [INFO] [stdout] ... [INFO] [stdout] 679 | } [INFO] [stdout] 680 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:673:28 [INFO] [stdout] | [INFO] [stdout] 673 | if let Ok(true_target) = target.extract::>() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:679:25 [INFO] [stdout] | [INFO] [stdout] 679 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 673 ~ match target.extract::>() { Ok(true_target) => { [INFO] [stdout] 674 | if let Ok(Some(amount)) = true_target.get_item("amount") { [INFO] [stdout] ... [INFO] [stdout] 678 | } [INFO] [stdout] 679 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:674:32 [INFO] [stdout] | [INFO] [stdout] 674 | ... if let Ok(Some(amount)) = true_target.get_item("amount") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:678:29 [INFO] [stdout] | [INFO] [stdout] 678 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 674 ~ match true_target.get_item("amount") { Ok(Some(amount)) => { [INFO] [stdout] 675 | if let Ok(true_amount) = amount.extract::() { [INFO] [stdout] 676 | return Ok(true_amount); [INFO] [stdout] 677 | } [INFO] [stdout] 678 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat.rs:675:36 [INFO] [stdout] | [INFO] [stdout] 675 | ... if let Ok(true_amount) = amount.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat.rs:677:33 [INFO] [stdout] | [INFO] [stdout] 677 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 675 ~ match amount.extract::() { Ok(true_amount) => { [INFO] [stdout] 676 | return Ok(true_amount); [INFO] [stdout] 677 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:78:12 [INFO] [stdout] | [INFO] [stdout] 78 | if let Ok(other_decimal) = decimal_extract(other) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 78 ~ match decimal_extract(other) { Ok(other_decimal) => { [INFO] [stdout] 79 | if other_decimal == Decimal::new(0, 0) { [INFO] [stdout] ... [INFO] [stdout] 88 | } [INFO] [stdout] 89 ~ } _ => { [INFO] [stdout] 90 | Err(pyo3::exceptions::PyTypeError::new_err( [INFO] [stdout] 91 | "Unsupported operand", [INFO] [stdout] 92 | )) [INFO] [stdout] 93 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | if let Ok(money_with_vat_ratio) = value.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 121 | return Ok(money_with_vat_ratio); [INFO] [stdout] 122 | } else if let Ok(dict) = value.extract::>() { [INFO] [stdout] | -------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:122:9 [INFO] [stdout] | [INFO] [stdout] 122 | } else if let Ok(dict) = value.extract::>() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match value.extract::() { Ok(money_with_vat_ratio) => { [INFO] [stdout] 121 | return Ok(money_with_vat_ratio); [INFO] [stdout] 122 ~ } _ => { match value.extract::>() { Ok(dict) => { [INFO] [stdout] 123 | if let Ok(Some(net_ratio)) = dict.get_item("net_ratio") { [INFO] [stdout] ... [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | if let Ok(Some(net_ratio)) = dict.get_item("net_ratio") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ match dict.get_item("net_ratio") { Ok(Some(net_ratio)) => { [INFO] [stdout] 124 | if let Ok(Some(gross_ratio)) = dict.get_item("gross_ratio") { [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | if let Ok(Some(gross_ratio)) = dict.get_item("gross_ratio") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match dict.get_item("gross_ratio") { Ok(Some(gross_ratio)) => { [INFO] [stdout] 125 | if let Ok(true_net_ratio) = net_ratio.extract::() { [INFO] [stdout] ... [INFO] [stdout] 132 | } [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 125 | if let Ok(true_net_ratio) = net_ratio.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match net_ratio.extract::() { Ok(true_net_ratio) => { [INFO] [stdout] 126 | if let Ok(true_gross_ratio) = gross_ratio.extract::() { [INFO] [stdout] ... [INFO] [stdout] 131 | } [INFO] [stdout] 132 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | if let Ok(true_gross_ratio) = gross_ratio.extract::() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^-------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/money_vat_ratio.rs:131:25 [INFO] [stdout] | [INFO] [stdout] 131 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match gross_ratio.extract::() { Ok(true_gross_ratio) => { [INFO] [stdout] 127 | return Ok(Self { [INFO] [stdout] ... [INFO] [stdout] 130 | }); [INFO] [stdout] 131 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 124 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] error: expected item, found `{` [INFO] [stdout] --> src/money_vat.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | { unsafe #[pymethods]} [INFO] [stdout] | ^ expected item [INFO] [stdout] | [INFO] [stdout] = note: for a full list of items that can appear in modules, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected item, found `{` [INFO] [stdout] --> src/money_vat_ratio.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | { unsafe #[pymethods]} [INFO] [stdout] | ^ expected item [INFO] [stdout] | [INFO] [stdout] = note: for a full list of items that can appear in modules, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::money_vat::MoneyWithVAT` [INFO] [stdout] --> src/lib.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | use crate::money_vat::MoneyWithVAT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MoneyWithVAT` in `money_vat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::money_vat_ratio::MoneyWithVATRatio` [INFO] [stdout] --> src/lib.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::money_vat_ratio::MoneyWithVATRatio; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MoneyWithVATRatio` in `money_vat_ratio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | fn __add__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:89:17 [INFO] [stdout] | [INFO] [stdout] 89 | fn __radd__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:93:16 [INFO] [stdout] | [INFO] [stdout] 93 | fn __sub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | fn __rsub__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:113:16 [INFO] [stdout] | [INFO] [stdout] 113 | fn __mul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | fn __rmul__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | fn __truediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:158:21 [INFO] [stdout] | [INFO] [stdout] 158 | fn __rtruediv__(&self, other: Bound) -> PyResult { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn round(&self, n: Option) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:47:16 [INFO] [stdout] | [INFO] [stdout] 47 | fn __str__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:51:17 [INFO] [stdout] | [INFO] [stdout] 51 | fn __repr__(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | fn __hash__(&self) -> u64 { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:61:20 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn __neg__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:67:16 [INFO] [stdout] | [INFO] [stdout] 67 | fn __abs__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:181:17 [INFO] [stdout] | [INFO] [stdout] 181 | fn __bool__(&self) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:185:20 [INFO] [stdout] | [INFO] [stdout] 185 | fn __richcmp__(&self, other: &Self, op: CompareOp) -> bool { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn for_json(&self) -> String { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:199:24 [INFO] [stdout] | [INFO] [stdout] 199 | fn validate(value: Bound, _info: Option>) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:211:23 [INFO] [stdout] | [INFO] [stdout] 211 | _core_schema: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:212:19 [INFO] [stdout] | [INFO] [stdout] 212 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:224:18 [INFO] [stdout] | [INFO] [stdout] 224 | _source: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:225:19 [INFO] [stdout] | [INFO] [stdout] 225 | _handler: Bound, [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:269:17 [INFO] [stdout] | [INFO] [stdout] 269 | pub fn copy(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | pub fn __copy__(&self) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> src/money.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | #[pymethods] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:277:25 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:277:39 [INFO] [stdout] | [INFO] [stdout] 277 | pub fn __deepcopy__(&self, _memo: Bound) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block [INFO] [stdout] --> src/money.rs:284:20 [INFO] [stdout] | [INFO] [stdout] 284 | pub fn sum_(elems: Bound) -> PyResult { [INFO] [stdout] | ^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see issue #71668 [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 4 previous errors; 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `alasco-money` (lib) due to 5 previous errors; 27 warnings emitted [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "7843f00a3db47caf968ea37f1b917e717eab017298cbf2da2bd948d4e0665ef5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7843f00a3db47caf968ea37f1b917e717eab017298cbf2da2bd948d4e0665ef5", kill_on_drop: false }` [INFO] [stdout] 7843f00a3db47caf968ea37f1b917e717eab017298cbf2da2bd948d4e0665ef5