[INFO] cloning repository https://github.com/julimuriass/seminario-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/julimuriass/seminario-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulimuriass%2Fseminario-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulimuriass%2Fseminario-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9cdaaf23d64bb5987cd7dc6a440c11ccd45c9c7d [INFO] checking julimuriass/seminario-rust against master#2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulimuriass%2Fseminario-rust" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/julimuriass/seminario-rust on toolchain 2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/julimuriass/seminario-rust [INFO] finished tweaking git repo https://github.com/julimuriass/seminario-rust [INFO] tweaked toml for git repo https://github.com/julimuriass/seminario-rust written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/julimuriass/seminario-rust 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" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest [INFO] [stderr] See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature. [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded coveralls-api v0.7.0 [INFO] [stderr] Downloaded llvm_profparser v0.8.3 [INFO] [stderr] Downloaded cargo-tarpaulin v0.32.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b0ccd18080f8e76f234a3399ca2a69cfc28baa5be92f12e2d2fb2fd54f449f27 [INFO] running `Command { std: "docker" "start" "-a" "b0ccd18080f8e76f234a3399ca2a69cfc28baa5be92f12e2d2fb2fd54f449f27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b0ccd18080f8e76f234a3399ca2a69cfc28baa5be92f12e2d2fb2fd54f449f27", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0ccd18080f8e76f234a3399ca2a69cfc28baa5be92f12e2d2fb2fd54f449f27", kill_on_drop: false }` [INFO] [stdout] b0ccd18080f8e76f234a3399ca2a69cfc28baa5be92f12e2d2fb2fd54f449f27 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2fcf1776b9ccef89993dfe40e9f5c4908e2d2d48" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1080397f563d17f05e54c55ca22845001fcc801cd24e4f4de85aca93d549e737 [INFO] running `Command { std: "docker" "start" "-a" "1080397f563d17f05e54c55ca22845001fcc801cd24e4f4de85aca93d549e737", kill_on_drop: false }` [INFO] [stderr] warning: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest [INFO] [stderr] See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature. [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Checking hashbrown v0.15.3 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Checking anstyle-parse v0.2.6 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Compiling indexmap v1.8.2 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking flate2 v1.1.1 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Checking anstyle-query v1.1.2 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking colorchoice v1.0.3 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking gzip-header v1.0.0 [INFO] [stderr] Checking overload v0.1.1 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Compiling cc v1.2.24 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Compiling procfs v0.17.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking winnow v0.7.10 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling llvm_profparser v0.8.3 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Checking socket2 v0.5.9 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking toml_write v0.1.1 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking deflate v1.0.0 [INFO] [stderr] Checking clap_builder v4.5.38 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Compiling cargo-tarpaulin v0.32.7 [INFO] [stderr] Checking tokio v1.45.0 [INFO] [stderr] Checking nu-ansi-term v0.46.0 [INFO] [stderr] Checking ruzstd v0.7.3 [INFO] [stderr] Checking object v0.26.2 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling openssl-sys v0.9.108 [INFO] [stderr] Compiling libz-sys v1.1.22 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.18.1+1.9.0 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking quick-xml v0.37.5 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking glob v0.3.2 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking tower v0.5.2 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.0 [INFO] [stderr] Compiling zerovec-derive v0.11.1 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.28 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Checking yoke v0.8.0 [INFO] [stderr] Checking hyper-util v0.1.12 [INFO] [stderr] Checking zerovec v0.11.2 [INFO] [stderr] Checking zerotrie v0.2.2 [INFO] [stderr] Checking clap v4.5.38 [INFO] [stderr] Checking tinystr v0.8.1 [INFO] [stderr] Checking potential_utf v0.1.2 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_locale_core v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.0 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking toml_datetime v0.6.9 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking cargo-platform v0.1.9 [INFO] [stderr] Checking humantime-serde v1.1.1 [INFO] [stderr] Checking git2 v0.20.2 [INFO] [stderr] Checking toml_edit v0.22.26 [INFO] [stderr] Checking procfs-core v0.17.0 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [INFO] [stderr] Checking reqwest v0.12.15 [INFO] [stderr] Checking cargo_metadata v0.19.2 [INFO] [stderr] Checking toml v0.8.22 [INFO] [stderr] Checking coveralls-api v0.7.0 [INFO] [stderr] Checking seminario-rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tp03/ej08.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | if (song.titulo == nombre) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 99 - if (song.titulo == nombre) { [INFO] [stdout] 99 + if song.titulo == nombre { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp03/ej10.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] 54 + EstadoPrestamo::EnPrestamo => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej01.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/tp05/ej01.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej01.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej02.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej02.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tp05/ej02.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if (song.titulo == nombre) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 180 - if (song.titulo == nombre) { [INFO] [stdout] 180 + if song.titulo == nombre { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej03.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/tp05/ej03.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej03.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> src/tp05/ej04.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej04.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/tp05/ej04.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/tp05/ej04.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej04.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp05/ej04.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] 72 + EstadoPrestamo::EnPrestamo => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::eq` [INFO] [stdout] --> src/tp05/ej05.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{path::PathBuf, ptr::eq}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej05.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej05.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::eq` [INFO] [stdout] --> src/tp05/ej06.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr::eq; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej06.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej06.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tp03/ej08.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | if (song.titulo == nombre) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 99 - if (song.titulo == nombre) { [INFO] [stdout] 99 + if song.titulo == nombre { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp03/ej10.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 54 - (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] 54 + EstadoPrestamo::EnPrestamo => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp03/ej10.rs:574:17 [INFO] [stdout] | [INFO] [stdout] 574 | (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 574 - (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] 574 + EstadoPrestamo::Devuelto => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej01.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/tp05/ej01.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej01.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej02.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej02.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tp05/ej02.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | if (song.titulo == nombre) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 180 - if (song.titulo == nombre) { [INFO] [stdout] 180 + if song.titulo == nombre { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej03.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/tp05/ej03.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej03.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> src/tp05/ej04.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej04.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::OpenOptions` [INFO] [stdout] --> src/tp05/ej04.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fs::OpenOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/tp05/ej04.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej04.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp05/ej04.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 72 - (EstadoPrestamo::EnPrestamo) => true, [INFO] [stdout] 72 + EstadoPrestamo::EnPrestamo => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp05/ej04.rs:756:17 [INFO] [stdout] | [INFO] [stdout] 756 | (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 756 - (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] 756 + EstadoPrestamo::Devuelto => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around pattern [INFO] [stdout] --> src/tp05/ej04.rs:972:17 [INFO] [stdout] | [INFO] [stdout] 972 | (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 972 - (EstadoPrestamo::Devuelto) => true, [INFO] [stdout] 972 + EstadoPrestamo::Devuelto => true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ptr::eq` [INFO] [stdout] --> src/tp05/ej05.rs:1:26 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{path::PathBuf, ptr::eq}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej05.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej05.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ptr::eq` [INFO] [stdout] --> src/tp05/ej06.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::ptr::eq; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::arch` [INFO] [stdout] --> src/tp05/ej06.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use core::arch; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tp05/ej06.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::hash` [INFO] [stdout] --> src/tp05/ej06.rs:605:9 [INFO] [stdout] | [INFO] [stdout] 605 | use core::hash; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path` [INFO] [stdout] --> src/tp05/ej06.rs:606:9 [INFO] [stdout] | [INFO] [stdout] 606 | use std::path; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::panic` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use core::panic; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `days_in_current_month` is never read [INFO] [stdout] --> src/tp03/ej03.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | let mut days_in_current_month = days_in_month[self.mes as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `days_in_current_month` is never read [INFO] [stdout] --> src/tp03/ej03.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | days_in_current_month = 29; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej01.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let mut concesionario = ConsecionarioAuto { [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej01.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Error al abrir el archivo en modo escritura.")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej01.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Error al escribir en el archivo.")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej02.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Problema al abrir el archivo")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej02.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Problema al escribir en el archivo")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej03.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej03.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:128:23 [INFO] [stdout] | [INFO] [stdout] 128 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut archivo_libros:File = match File::create(self.archivo_libros.clone()) { [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let mut archivo_prestamos:File = match File::create(self.archivo_prestamos.clone()) { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `isbn` [INFO] [stdout] --> src/tp05/ej04.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | let (isbn, copias) = { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copias` [INFO] [stdout] --> src/tp05/ej04.rs:155:20 [INFO] [stdout] | [INFO] [stdout] 155 | let (isbn, copias) = { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_copias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `isbn` [INFO] [stdout] --> src/tp05/ej04.rs:169:14 [INFO] [stdout] | [INFO] [stdout] 169 | let (isbn, copias) = { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copias` [INFO] [stdout] --> src/tp05/ej04.rs:169:20 [INFO] [stdout] | [INFO] [stdout] 169 | let (isbn, copias) = { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_copias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `updated_loan` [INFO] [stdout] --> src/tp05/ej04.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let mut updated_loan: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updated_loan` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | let mut updated_loan: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numero_tarjeta` [INFO] [stdout] --> src/tp05/ej05.rs:148:41 [INFO] [stdout] | [INFO] [stdout] 148 | MedioPago::TarjetaCredito { numero_tarjeta } => String::from("TarjetaCredito"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `numero_tarjeta: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cbu` [INFO] [stdout] --> src/tp05/ej05.rs:149:38 [INFO] [stdout] | [INFO] [stdout] 149 | MedioPago::MercadoPago { cbu } => String::from("MercadoPago"), [INFO] [stdout] | ^^^ help: try ignoring the field: `cbu: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cuenta_destino` [INFO] [stdout] --> src/tp05/ej05.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | MedioPago::TransferenciaBancaria { cuenta_destino, cuenta_origen } => String::from("TransferenciaBancaria"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `cuenta_destino: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cuenta_origen` [INFO] [stdout] --> src/tp05/ej05.rs:150:64 [INFO] [stdout] | [INFO] [stdout] 150 | MedioPago::TransferenciaBancaria { cuenta_destino, cuenta_origen } => String::from("TransferenciaBancaria"), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `cuenta_origen: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tipo_cripto` [INFO] [stdout] --> src/tp05/ej05.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | MedioPago::Cripto { tipo_cripto } => String::from("Cripto"), [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `tipo_cripto: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:275:23 [INFO] [stdout] | [INFO] [stdout] 275 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | let mut file:File = match File::create(self.archivo_usuarios_suscripciones.clone()) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suscripcion` [INFO] [stdout] --> src/tp05/ej05.rs:432:50 [INFO] [stdout] | [INFO] [stdout] 432 | u.suscripciones.iter().for_each(|suscripcion| { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suscripcion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Err(e) => Err(ErrorIntercambio::ErrorArchivo), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | Err(e) => Err(ErrorIntercambio::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | .map_err(|e| ErrorIntercambio::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut file:File = match File::create(self.archivo_usuarios_balances.clone()) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `message1` [INFO] [stdout] --> src/tp03/ej01.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | let message1 = me_with_direction.to_string(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej01.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 39 | let mut me_without_direction = Persona::new (19, String::from("Julieta"), None); [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `days_in_current_month` is never read [INFO] [stdout] --> src/tp03/ej03.rs:76:17 [INFO] [stdout] | [INFO] [stdout] 76 | let mut days_in_current_month = days_in_month[self.mes as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `days_in_current_month` is never read [INFO] [stdout] --> src/tp03/ej03.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | days_in_current_month = 29; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej03.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut date1 = Fecha { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej03.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let mut date2 = Fecha::new(21, 13, 2024); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej03.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let mut date1 = Fecha { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej03.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut date2 = Fecha::new(21, 12, 2024); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `suma_auxiliar` is never read [INFO] [stdout] --> src/main.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut suma_auxiliar: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut var_ingresada: bool = match var_ingresada.trim().parse(){ [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut var_ingresada = var_ingresada && t; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut var_ingresada = var_ingresada || t; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | let mut number :u32 = 2; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let mut number_ingresado:u32 = match number_ingresado.trim().parse(){ [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut number = number + number_ingresado; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let mut caracter: char = caracter.trim().parse() [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut student= Estudiante::new(String::from("Pepe"), 123); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v1::Examen` is more private than the item `julieta_murias_v1::obtener_materia_calificacion_alta` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v1::obtener_materia_calificacion_alta` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v1::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v1::Examen` is more private than the item `julieta_murias_v1::obtener_materia_calificacion_baja` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v1::obtener_materia_calificacion_baja` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v1::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej07::Color` is more private than the item `ej07::compare_colors` [INFO] [stdout] --> src/tp03/ej07.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej07::compare_colors` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej07::Color` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej07.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | enum Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej07::Auto` is more private than the item `ej07::compare` [INFO] [stdout] --> src/tp03/ej07.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej07::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej07::Auto` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej07.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Auto { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej08::Genero` is more private than the item `ej08::compare_genre` [INFO] [stdout] --> src/tp03/ej08.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej08::compare_genre` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej08::Genero` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej08.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | enum Genero { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej08::Cancion` is more private than the item `ej08::compare` [INFO] [stdout] --> src/tp03/ej08.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej08::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej08::Cancion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej08.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | struct Cancion { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Dueño` is more private than the item `ej09::compare_owners` [INFO] [stdout] --> src/tp03/ej09.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_owners` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Dueño` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Dueño { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::TipoAnimal` is more private than the item `ej09::compare_type` [INFO] [stdout] --> src/tp03/ej09.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::TipoAnimal` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | enum TipoAnimal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Mascota` is more private than the item `ej09::compare_pets` [INFO] [stdout] --> src/tp03/ej09.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_pets` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Mascota` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | struct Mascota { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Atencion` is more private than the item `ej09::compare_atencion` [INFO] [stdout] --> src/tp03/ej09.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Atencion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | struct Atencion { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej10::EstadoPrestamo` is more private than the item `ej10::no_devolvio` [INFO] [stdout] --> src/tp03/ej10.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej10::no_devolvio` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej10::EstadoPrestamo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej10.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum EstadoPrestamo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej10::Cliente` is more private than the item `ej10::compare_clientes` [INFO] [stdout] --> src/tp03/ej10.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej10::compare_clientes` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej10::Cliente` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej10.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Cliente { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v2::Examen` is more private than the item `julieta_murias_v2::obtener_materia_calificacion_alta` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v2::obtener_materia_calificacion_alta` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v2::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v2::Examen` is more private than the item `julieta_murias_v2::obtener_materia_calificacion_baja` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v2::obtener_materia_calificacion_baja` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v2::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej01::Color` is more private than the item `tp05::ej01::compare_colors` [INFO] [stdout] --> src/tp05/ej01.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej01::compare_colors` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej01::Color` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej01.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | enum Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej01::Auto` is more private than the item `tp05::ej01::compare` [INFO] [stdout] --> src/tp05/ej01.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej01::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej01::Auto` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej01.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | struct Auto { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej02::Genero` is more private than the item `tp05::ej02::compare_genre` [INFO] [stdout] --> src/tp05/ej02.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej02::compare_genre` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej02::Genero` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej02.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum Genero { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej02::Cancion` is more private than the item `tp05::ej02::compare` [INFO] [stdout] --> src/tp05/ej02.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej02::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej02::Cancion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej02.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | struct Cancion { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Dueño` is more private than the item `tp05::ej03::compare_owners` [INFO] [stdout] --> src/tp05/ej03.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_owners` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Dueño` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | struct Dueño { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::TipoAnimal` is more private than the item `tp05::ej03::compare_type` [INFO] [stdout] --> src/tp05/ej03.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::TipoAnimal` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum TipoAnimal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Mascota` is more private than the item `tp05::ej03::compare_pets` [INFO] [stdout] --> src/tp05/ej03.rs:69:1 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_pets` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Mascota` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Mascota { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Atencion` is more private than the item `tp05::ej03::compare_atencion` [INFO] [stdout] --> src/tp05/ej03.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Atencion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | struct Atencion { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej08.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | let mut jazz_songs: Vec; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej08.rs:263:13 [INFO] [stdout] | [INFO] [stdout] 263 | let mut pop_songs= playlist.obtener_canciones_por_genero(Genero::POP); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej08.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | let mut pepa_songs: Vec; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/ej08.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | let mut titi_songs= playlist.obtener_canciones_por_artista(String::from("titi")); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej04::EstadoPrestamo` is more private than the item `tp05::ej04::no_devolvio` [INFO] [stdout] --> src/tp05/ej04.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej04::no_devolvio` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej04::EstadoPrestamo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej04.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | enum EstadoPrestamo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej04::Cliente` is more private than the item `tp05::ej04::compare_clientes` [INFO] [stdout] --> src/tp05/ej04.rs:77:1 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej04::compare_clientes` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej04::Cliente` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej04.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | struct Cliente { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Persona` is never constructed [INFO] [stdout] --> src/tp03/ej01.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Persona { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `to_string`, `obtener_edad`, and `actualizar_direccion` are never used [INFO] [stdout] --> src/tp03/ej01.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl Persona { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 8 | fn new (edad: u32, nombre: String, direccion: Option) -> Persona { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn to_string (&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn obtener_edad (&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | fn actualizar_direccion (&mut self, new_direction: Option){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Rectangulo` is never constructed [INFO] [stdout] --> src/tp03/ej02.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Rectangulo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `calcular_area`, `calcular_perimetro`, and `es_cuadrado` are never used [INFO] [stdout] --> src/tp03/ej02.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Rectangulo { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 7 | [INFO] [stdout] 8 | fn new (ancho: f64, longitud: f64) -> Rectangulo { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | fn calcular_area (&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fn calcular_perimetro (&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | fn es_cuadrado (&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `es_bisiesto`, `es_fecha_valida`, `sumar_dias`, `restar_dias`, and `es_mayor` are never used [INFO] [stdout] --> src/tp03/ej03.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl Fecha { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 10 | pub fn new (dia: u32, mes: u32, año: u32) -> Fecha { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | fn es_bisiesto (&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | fn es_fecha_valida (&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn sumar_dias (&mut self, mut days: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn restar_dias (&mut self, mut days: u32) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn es_mayor (&self, other: &Fecha) -> bool { //Retorna true si la fecha que recibí es mayor. [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Triangulo` is never constructed [INFO] [stdout] --> src/tp03/ej04.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Triangulo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `determinar_tipo`, `calcular_area`, and `calcular_perimetro` are never used [INFO] [stdout] --> src/tp03/ej04.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl Triangulo { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 8 | fn new (lado1: f64, lado2: f64, lado3: f64) -> Triangulo { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn determinar_tipo (&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | fn calcular_area (&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | fn calcular_perimetro (&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Producto` is never constructed [INFO] [stdout] --> src/tp03/ej05.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Producto { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `calcular_impuestos`, `aplicar_descuento`, and `calcular_precio_total` are never used [INFO] [stdout] --> src/tp03/ej05.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl Producto { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 8 | fn new(nombre: String, precio_bruto: f64, id: u32) -> Producto { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn calcular_impuestos(&self, tax_percentage: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn aplicar_descuento(&self, discount_percentage: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | fn calcular_precio_total(&self, tax_percentage: Option, discount_percentage: Option) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Examen` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Estudiante` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Estudiante { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Informe` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Informe { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obtener_materia_calificacion_alta` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obtener_materia_calificacion_baja` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Examen { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 66 | fn new(nombre_materia: String, nota: f64) -> Examen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `obtener_promedio`, `obtener_calificacion_mas_alta`, `obtener_calificacion_mas_baja`, and `generar_informe` are never used [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Estudiante { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 75 | fn new(nombre: String, id: i32) -> Estudiante { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn obtener_promedio(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn obtener_calificacion_mas_alta(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn obtener_calificacion_mas_baja(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn generar_informe (&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Color` is never used [INFO] [stdout] --> src/tp03/ej07.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | enum Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Color` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Auto` is never constructed [INFO] [stdout] --> src/tp03/ej07.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct Auto { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Auto` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsecionarioAuto` is never constructed [INFO] [stdout] --> src/tp03/ej07.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 20 | struct ConsecionarioAuto { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_colors` is never used [INFO] [stdout] --> src/tp03/ej07.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare` is never used [INFO] [stdout] --> src/tp03/ej07.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `agregar_auto`, `eliminar_auto`, and `buscar_auto` are never used [INFO] [stdout] --> src/tp03/ej07.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl ConsecionarioAuto { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 51 | fn new(nombre: String, direccion: String, x: u32) -> ConsecionarioAuto { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn agregar_auto(&mut self, auto: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn eliminar_auto(&mut self, auto: &Auto) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn buscar_auto(&self, auto: &Auto) -> Option<&Auto> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calcular_precio` are never used [INFO] [stdout] --> src/tp03/ej07.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 94 | impl Auto { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 95 | fn new(marca: String, modelo: String, precio_bruto: f64, año: u32, color: Color ) -> Auto { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn calcular_precio(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Genero` is never used [INFO] [stdout] --> src/tp03/ej08.rs:2:6 [INFO] [stdout] | [INFO] [stdout] 2 | enum Genero { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Genero` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cancion` is never constructed [INFO] [stdout] --> src/tp03/ej08.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct Cancion { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cancion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayList` is never constructed [INFO] [stdout] --> src/tp03/ej08.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct PlayList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tp03/ej08.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl Cancion { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 23 | fn new(titulo: String, artista: String, genero: Genero) -> Cancion { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_genre` is never used [INFO] [stdout] --> src/tp03/ej08.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare` is never used [INFO] [stdout] --> src/tp03/ej08.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp03/ej08.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 50 | impl PlayList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 51 | fn new(nombre: String) -> PlayList { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | fn agregar_cancion(&mut self, cancion: &Cancion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn eliminar_cancion(&mut self, cancion: &Cancion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn mover_cancion(&mut self, cancion: &Cancion, posicion_nueva: u32){ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn buscar_cancion_por_nombre(&self, nombre: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn obtener_canciones_por_genero(&self, genero: Genero) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn obtener_canciones_por_artista(&self, artista: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn modificar_titulo_playlist(&mut self, titulo_nuevo: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn eliminar_todas_las_canciones(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TipoAnimal` is never used [INFO] [stdout] --> src/tp03/ej09.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | enum TipoAnimal { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TipoAnimal` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Veterinaria` is never constructed [INFO] [stdout] --> src/tp03/ej09.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct Veterinaria { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Atencion` is never constructed [INFO] [stdout] --> src/tp03/ej09.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | struct Atencion { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Atencion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mascota` is never constructed [INFO] [stdout] --> src/tp03/ej09.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct Mascota { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mascota` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Dueño` is never constructed [INFO] [stdout] --> src/tp03/ej09.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | struct Dueño { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dueño` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_owners` is never used [INFO] [stdout] --> src/tp03/ej09.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_type` is never used [INFO] [stdout] --> src/tp03/ej09.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_pets` is never used [INFO] [stdout] --> src/tp03/ej09.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_fecha` is never used [INFO] [stdout] --> src/tp03/ej09.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn compare_fecha(fecha1: &Option, fecha2: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_atencion` is never used [INFO] [stdout] --> src/tp03/ej09.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp03/ej09.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Veterinaria { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 86 | fn new(nombre: String, direccion: String, id: i32) -> Veterinaria { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn agregar_nueva_mascota(&mut self, mascota: Mascota, fecha: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | fn agregar_mascota_maxima_prioridad(&mut self, mascota: Mascota, fecha: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | fn atender_mascota(&mut self) -> Option{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn eliminar_mascota(&mut self, mascota: Mascota) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn registrar_atencion(&mut self, tratamiento: String, diagnostico: String, fecha: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | fn buscar_atencion(&self, nombre_mascota: String, nombre_dueño: String, telefono: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn modificar_diagnostico(&mut self, diagnostico_nuevo: String, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn modificar_fecha(&mut self, fecha_nueva: Option, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn eliminar_atencion (&mut self, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Genero` is never used [INFO] [stdout] --> src/tp03/ej10.rs:5:6 [INFO] [stdout] | [INFO] [stdout] 5 | enum Genero { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Genero` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EstadoPrestamo` is never used [INFO] [stdout] --> src/tp03/ej10.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | enum EstadoPrestamo { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EstadoPrestamo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Biblioteca` is never constructed [INFO] [stdout] --> src/tp03/ej10.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | struct Biblioteca { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biblioteca` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Libro` is never constructed [INFO] [stdout] --> src/tp03/ej10.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct Libro { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Libro` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Prestamo` is never constructed [INFO] [stdout] --> src/tp03/ej10.rs:37:8 [INFO] [stdout] | [INFO] [stdout] 37 | struct Prestamo { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Prestamo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cliente` is never constructed [INFO] [stdout] --> src/tp03/ej10.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct Cliente { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cliente` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `no_devolvio` is never used [INFO] [stdout] --> src/tp03/ej10.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_clientes` is never used [INFO] [stdout] --> src/tp03/ej10.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tp03/ej10.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Biblioteca { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 66 | fn obtener_cantidad_copias (&self, libro: &Libro) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn decrementar_cantidad_copias (&mut self, libro: &Libro) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn incrementar_cantidad_copias (&mut self, libro: &Libro) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn contar_prestamos_cliente (&self, cliente: &Cliente) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn realizar_prestamo (&mut self, libro: &Libro, cliente: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn prestamos_vencer(&self, cant_dias: u32, fecha_actual: &Fecha) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn buscar_prestamo (&self, libro: &Libro, cliente: &Cliente) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn devolver_libro (&mut self, libro: &Libro, cliente: &Cliente) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Examen` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Estudiante` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Estudiante { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Informe` is never constructed [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | struct Informe { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obtener_materia_calificacion_alta` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:24:8 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obtener_materia_calificacion_baja` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl Examen { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 66 | fn new(nombre_materia: String, nota: f64) -> Examen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `obtener_promedio`, `obtener_calificacion_mas_alta`, `obtener_calificacion_mas_baja`, and `generar_informe` are never used [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Estudiante { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 75 | fn new(nombre: String, id: i32) -> Estudiante { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn obtener_promedio(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn obtener_calificacion_mas_alta(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn obtener_calificacion_mas_baja(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn generar_informe (&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConsecionarioAuto` is never constructed [INFO] [stdout] --> src/tp05/ej01.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | struct ConsecionarioAuto { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErroresPersonalizados` is never used [INFO] [stdout] --> src/tp05/ej01.rs:39:6 [INFO] [stdout] | [INFO] [stdout] 39 | enum ErroresPersonalizados { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErroresPersonalizados` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_colors` is never used [INFO] [stdout] --> src/tp05/ej01.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare` is never used [INFO] [stdout] --> src/tp05/ej01.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `inicializar_archivo`, `cargar_al_archivo`, `agregar_auto`, `eliminar_auto`, and `buscar_auto` are never used [INFO] [stdout] --> src/tp05/ej01.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl ConsecionarioAuto { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 68 | fn new(nombre: String, direccion: String, x: u32, archivo_autos: String) -> ConsecionarioAuto { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn inicializar_archivo(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn cargar_al_archivo(&mut self, auto: &Auto) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | fn agregar_auto(&mut self, auto: &Auto) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn eliminar_auto(&mut self, auto: &Auto) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | fn buscar_auto(&self, auto: &Auto) -> Option<&Auto> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `calcular_precio` are never used [INFO] [stdout] --> src/tp05/ej01.rs:159:8 [INFO] [stdout] | [INFO] [stdout] 158 | impl Auto { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 159 | fn new(marca: String, modelo: String, precio_bruto: f64, año: u32, color: Color ) -> Auto { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn calcular_precio(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayList` is never constructed [INFO] [stdout] --> src/tp05/ej02.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | struct PlayList { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErroresPersonalizados` is never used [INFO] [stdout] --> src/tp05/ej02.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum ErroresPersonalizados { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/tp05/ej02.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 39 | impl Cancion { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 40 | fn new(titulo: String, artista: String, genero: Genero) -> Cancion { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_genre` is never used [INFO] [stdout] --> src/tp05/ej02.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare` is never used [INFO] [stdout] --> src/tp05/ej02.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp05/ej02.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 67 | impl PlayList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 68 | fn new(nombre: String, archivo_canciones: String) -> PlayList { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn inicializar_archivo(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn cargar_al_archivo(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn agregar_cancion(&mut self, cancion: &Cancion) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | fn eliminar_cancion(&mut self, cancion: &Cancion) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn mover_cancion(&mut self, cancion: &Cancion, posicion_nueva: u32) -> Result<(), ErroresPersonalizados>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 178 | fn buscar_cancion_por_nombre(&self, nombre: String) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | fn obtener_canciones_por_genero(&self, genero: Genero) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn obtener_canciones_por_artista(&self, artista: String) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | fn modificar_titulo_playlist(&mut self, titulo_nuevo: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | fn eliminar_todas_las_canciones(&mut self) -> Result<(), ErroresPersonalizados>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_owners` is never used [INFO] [stdout] --> src/tp05/ej03.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_type` is never used [INFO] [stdout] --> src/tp05/ej03.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_pets` is never used [INFO] [stdout] --> src/tp05/ej03.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_fecha` is never used [INFO] [stdout] --> src/tp05/ej03.rs:76:4 [INFO] [stdout] | [INFO] [stdout] 76 | fn compare_fecha(fecha1: &Option, fecha2: &Option) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `esta_devuelto` [INFO] [stdout] --> src/tp03/ej10.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | let esta_devuelto = { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_esta_devuelto` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_atencion` is never used [INFO] [stdout] --> src/tp05/ej03.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErroresPersonalizados` is never used [INFO] [stdout] --> src/tp05/ej03.rs:94:6 [INFO] [stdout] | [INFO] [stdout] 94 | enum ErroresPersonalizados { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp05/ej03.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 101 | impl Veterinaria { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 102 | fn new(nombre: String, direccion: String, id: i32, archivo_sistema: String) -> Veterinaria { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn inicializar_archivo(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn cargar_al_archivo(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn agregar_nueva_mascota(&mut self, mascota: Mascota, fecha: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn agregar_mascota_maxima_prioridad(&mut self, mascota: Mascota, fecha: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn atender_mascota(&mut self) -> Option{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | fn eliminar_mascota(&mut self, mascota: Mascota) -> Result<(), ErroresPersonalizados>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn registrar_atencion(&mut self, tratamiento: String, diagnostico: String, fecha: Option) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | fn buscar_atencion(&self, nombre_mascota: String, nombre_dueño: String, telefono: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn modificar_diagnostico(&mut self, diagnostico_nuevo: String, atencion: &Atencion) -> Result<(), ErroresPersonalizados>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 239 | fn modificar_fecha(&mut self, fecha_nueva: Option, atencion: &Atencion) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | fn eliminar_atencion (&mut self, atencion: &Atencion) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Biblioteca` is never constructed [INFO] [stdout] --> src/tp05/ej04.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct Biblioteca { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biblioteca` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErroresPersonalizados` is never used [INFO] [stdout] --> src/tp05/ej04.rs:64:6 [INFO] [stdout] | [INFO] [stdout] 64 | enum ErroresPersonalizados { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErroresPersonalizados` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `no_devolvio` is never used [INFO] [stdout] --> src/tp05/ej04.rs:70:8 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_clientes` is never used [INFO] [stdout] --> src/tp05/ej04.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp05/ej04.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 83 | impl Biblioteca { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 84 | [INFO] [stdout] 85 | pub fn new(nombre: String, direccion: String, archivo_libros: String, archivo_prestamos: String) -> Biblioteca { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | fn inicializar_archivo_libros(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn inicializar_archivo_prestamos(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn cargar_al_archivo_libros(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | pub fn cargar_al_archivo_prestamos(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn obtener_cantidad_copias (&self, libro: &Libro) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn decrementar_cantidad_copias (&mut self, libro: &Libro) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | fn incrementar_cantidad_copias (&mut self, libro: &Libro) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn contar_prestamos_cliente (&self, cliente: &Cliente) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | fn realizar_prestamo (&mut self, libro: &Libro, cliente: &Cliente) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn prestamos_vencer(&self, cant_dias: u32, fecha_actual: &Fecha) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 253 | fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn buscar_prestamo (&self, libro: &Libro, cliente: &Cliente) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn devolver_libro (&mut self, libro: &Libro, cliente: &Cliente) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `costo_mensual`, `upgrade`, `downgrade`, `soy_basic`, `soy_clasic`, and `soy_super` are never used [INFO] [stdout] --> src/tp05/ej05.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 29 | impl TipoSuscripcion { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 30 | fn costo_mensual(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn upgrade(&self) -> Option{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn downgrade(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn soy_basic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn soy_clasic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn soy_super(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `activar_suscripcion`, `desactivar_suscripcion`, `upgrade`, and `downgrade` are never used [INFO] [stdout] --> src/tp05/ej05.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Suscripcion { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 86 | fn new(tipo: TipoSuscripcion, duracion_meses: u8, fecha_inicio: String) -> Suscripcion { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | fn activar_suscripcion(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn desactivar_suscripcion(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | fn upgrade(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn downgrade(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/tp05/ej05.rs:145:8 [INFO] [stdout] | [INFO] [stdout] 144 | impl MedioPago { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 145 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tp05/ej05.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 167 | impl Usuario { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 168 | fn agregar_suscripcion(&mut self, suscripcion: Suscripcion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | fn obtener_suscripcion_activa(&self) -> Option<&Suscripcion> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn obtener_suscripcion_activa_mutable(&mut self) -> Option<&mut Suscripcion> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn cancelar_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn tiene_suscripcion_activa(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn upgrade_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | fn downgrade_suscripcion(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErroresPersonalizados` is never used [INFO] [stdout] --> src/tp05/ej05.rs:216:6 [INFO] [stdout] | [INFO] [stdout] 216 | enum ErroresPersonalizados { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp05/ej05.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl StreamingRust { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 231 | [INFO] [stdout] 232 | pub fn crear_plataforma(archivo_usuarios_suscripciones: String) -> StreamingRust { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn inicializar_archivo(&self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn cargar_usuario_al_archivo(&mut self, usuario: &Usuario) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn modificar_archivo(&mut self) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn crear_usuario(&mut self, suscripcion: &Suscripcion, medio_pago: &MedioPago, id: u32, username: String, nombre: String, apellid... [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | pub fn upgrade_suscripcion(&mut self, usuario: &mut Usuario) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub fn downgrade_suscripcion(&mut self, usuario: &mut Usuario) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | pub fn cancelar_suscripcion(&mut self, usuario: &mut Usuario) -> Result<(), ErroresPersonalizados> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 343 | pub fn suscripcion_mas_contratada_activos(&self) -> Option<(TipoSuscripcion, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn suscripcion_mas_contratada(&self) -> Option<(TipoSuscripcion, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 399 | pub fn medio_pago_mas_usado_activos(&self) -> Option<(String, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 422 | pub fn medio_pago_mas_usado(&self) -> Option<(String, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ErrorIntercambio` is never used [INFO] [stdout] --> src/tp05/ej06.rs:92:6 [INFO] [stdout] | [INFO] [stdout] 92 | enum ErrorIntercambio { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ErrorIntercambio` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `obtener_cotizacion` is never used [INFO] [stdout] --> src/tp05/ej06.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn obtener_cotizacion(cripto_nombre: &str) -> f64 { //Datos en dólares del 28/05/2025. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp05/ej06.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 111 | impl PlataformaXYZ { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 112 | fn new(archivo_transacciones: String, archivo_usuarios_balances: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | fn inicializar_archivo_usuarios_balances(&self) -> Result<(), ErrorIntercambio> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn inicializar_archivo_transacciones(&self) -> Result<(), ErrorIntercambio> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | fn cargar_transaccion_al_archivo(&mut self, transaccion: &Transaccion) -> Result<(), ErrorIntercambio> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn cargar_usuarios_al_archivo(&mut self) -> Result<(), ErrorIntercambio> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | pub fn registrar_usuario(&mut self, usuario: Usuario) -> Result<(), ErrorIntercambio>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn registrar_criptomoneda(&mut self, criptomoneda: Criptomoneda) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn ingresar_dinero(&mut self, monto_fiat: f64, usuario: &mut Usuario) -> Result<(), ErrorIntercambio> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn comprar_determinada_criptomoneda(&mut self, monto_fiat: f64, usuario: &mut Usuario, criptomoneda: &Criptomoneda) -> Result<(),... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | pub fn vender_determinada_criptomoneda(&mut self, usuario: &mut Usuario, criptomoneda: &Criptomoneda, monto_criptomoneda: f64) -> Res... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn retirar_criptomoneda_a_blockchain(&mut self, monto_criptomoneda: f64, criptomoneda: &Criptomoneda, blockchain: &Blockchain, us... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn recibir_criptomoneda_de_blockchain(&mut self, monto_criptomoneda: f64, criptomoneda: &Criptomoneda, usuario: &mut Usuario, blo... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | pub fn retirar_fiat_por_determinado_medio(&mut self, monto_fiat: f64, usuario: &mut Usuario, medio: &Medio) -> Result<(), ErrorInterc... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 497 | pub fn criptomoneda_mas_vendida(&self) -> Option<(String, u32)> { //Return an option with the cripto and the amount of sales. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 529 | pub fn criptomoneda_mas_comprada(&self) -> Option<(String, u32)> { //Return an option with the cripto and the amount of sales. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 552 | pub fn crpitomoneda_mas_volumen_venta (&self) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 577 | pub fn crpitomoneda_mas_volumen_compra (&self) -> Option<(String, f64)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | concesionario.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = concesionario.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | playlist.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 77 | let _ = playlist.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | veterinaria.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 113 | let _ = veterinaria.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | serde_json::to_writer_pretty(file, &self); //Serialize the data structure (La veterinaria). [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 121 | let _ = serde_json::to_writer_pretty(file, &self); //Serialize the data structure (La veterinaria). [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 159 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 274 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | biblioteca.inicializar_archivo_libros(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 97 | let _ = biblioteca.inicializar_archivo_libros(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | biblioteca.inicializar_archivo_prestamos(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = biblioteca.inicializar_archivo_prestamos(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | serde_json::to_writer_pretty(file, &self.libros); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 107 | let _ = serde_json::to_writer_pretty(file, &self.libros); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | serde_json::to_writer_pretty(file, &self.prestamos); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 115 | let _ = serde_json::to_writer_pretty(file, &self.prestamos); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | suscripcion.upgrade(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 198 | let _ = suscripcion.upgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut student= Estudiante::new(String::from("Pepe"), 123); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | let mut student2= Estudiante::new(String::from("Pepe"), 999); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | plataforma.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 239 | let _ = plataforma.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 247 | let _ = serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 307 | let _ = user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 332 | let _ = user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | plataforma.inicializar_archivo_transacciones(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 117 | let _ = plataforma.inicializar_archivo_transacciones(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | plataforma.inicializar_archivo_usuarios_balances(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 118 | let _ = plataforma.inicializar_archivo_usuarios_balances(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 127 | let _ = serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | serde_json::to_writer_pretty(file, &self.transacciones); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = serde_json::to_writer_pretty(file, &self.transacciones); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:390:10 [INFO] [stdout] | [INFO] [stdout] 390 | self.cargar_transaccion_al_archivo(&transaccion.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 390 | let _ = self.cargar_transaccion_al_archivo(&transaccion.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:393:10 [INFO] [stdout] | [INFO] [stdout] 393 | self.cargar_usuarios_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 393 | let _ = self.cargar_usuarios_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej01.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | let mut concesionario = ConsecionarioAuto { [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej01.rs:92:17 [INFO] [stdout] | [INFO] [stdout] 92 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Error al abrir el archivo en modo escritura.")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej01.rs:98:17 [INFO] [stdout] | [INFO] [stdout] 98 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Error al escribir en el archivo.")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `concesionaria` [INFO] [stdout] --> src/tp05/ej01.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 296 | let concesionaria = ConsecionarioAuto::new("nombre".to_string(), "direccion".to_string(), 3, String::from(path)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_concesionaria` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej02.rs:90:17 [INFO] [stdout] | [INFO] [stdout] 90 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Problema al abrir el archivo")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej02.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo(format!("Problema al escribir en el archivo")))?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej02.rs:362:13 [INFO] [stdout] | [INFO] [stdout] 362 | let mut jazz_songs: Vec; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej02.rs:367:13 [INFO] [stdout] | [INFO] [stdout] 367 | let mut pop_songs= playlist.obtener_canciones_por_genero(Genero::POP); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej02.rs:387:13 [INFO] [stdout] | [INFO] [stdout] 387 | let mut pepa_songs: Vec; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej02.rs:392:13 [INFO] [stdout] | [INFO] [stdout] 392 | let mut titi_songs= playlist.obtener_canciones_por_artista(String::from("titi")); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `playlist` [INFO] [stdout] --> src/tp05/ej02.rs:399:13 [INFO] [stdout] | [INFO] [stdout] 399 | let playlist = PlayList::new("nombre".to_string(), String::from(path)); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_playlist` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej03.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej03.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:417:13 [INFO] [stdout] | [INFO] [stdout] 417 | let mut fecha = crear_fecha(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:443:13 [INFO] [stdout] | [INFO] [stdout] 443 | let mut fecha = crear_fecha(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:446:13 [INFO] [stdout] | [INFO] [stdout] 446 | let mut atencion = vet.buscar_atencion(String::from("Rocky"), String::from("Juan Perez"), 12345678); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mascota2` [INFO] [stdout] --> src/tp05/ej03.rs:491:13 [INFO] [stdout] | [INFO] [stdout] 491 | let mascota2 = crear_mascota("Pepe", TipoAnimal::PERRO); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mascota2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:490:13 [INFO] [stdout] | [INFO] [stdout] 490 | let mut fecha = crear_fecha(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:494:13 [INFO] [stdout] | [INFO] [stdout] 494 | let mut atencion = vet.buscar_atencion(String::from("Rocky"), String::from("Juan Perez"), 12345678); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `veterinaria` [INFO] [stdout] --> src/tp05/ej03.rs:505:13 [INFO] [stdout] | [INFO] [stdout] 505 | let veterinaria = Veterinaria::new("nombre".to_string(), "direccion".to_string(), 111, String::from(path)); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_veterinaria` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej03.rs:531:13 [INFO] [stdout] | [INFO] [stdout] 531 | let mut vet = Veterinaria::new(String::from("Vet 3"), String::from("Arg"), 3, String::from(path)); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:128:23 [INFO] [stdout] | [INFO] [stdout] 128 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:122:13 [INFO] [stdout] | [INFO] [stdout] 122 | let mut archivo_libros:File = match File::create(self.archivo_libros.clone()) { [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:135:17 [INFO] [stdout] | [INFO] [stdout] 135 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej04.rs:140:23 [INFO] [stdout] | [INFO] [stdout] 140 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | let mut archivo_prestamos:File = match File::create(self.archivo_prestamos.clone()) { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `isbn` [INFO] [stdout] --> src/tp05/ej04.rs:155:14 [INFO] [stdout] | [INFO] [stdout] 155 | let (isbn, copias) = { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copias` [INFO] [stdout] --> src/tp05/ej04.rs:155:20 [INFO] [stdout] | [INFO] [stdout] 155 | let (isbn, copias) = { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_copias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `isbn` [INFO] [stdout] --> src/tp05/ej04.rs:169:14 [INFO] [stdout] | [INFO] [stdout] 169 | let (isbn, copias) = { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_isbn` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `copias` [INFO] [stdout] --> src/tp05/ej04.rs:169:20 [INFO] [stdout] | [INFO] [stdout] 169 | let (isbn, copias) = { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_copias` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `updated_loan` [INFO] [stdout] --> src/tp05/ej04.rs:195:17 [INFO] [stdout] | [INFO] [stdout] 195 | let mut updated_loan: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updated_loan` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:195:13 [INFO] [stdout] | [INFO] [stdout] 195 | let mut updated_loan: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:384:13 [INFO] [stdout] | [INFO] [stdout] 384 | let mut libro = Libro { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:885:13 [INFO] [stdout] | [INFO] [stdout] 885 | let mut libro = Libro { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:894:13 [INFO] [stdout] | [INFO] [stdout] 894 | let mut libro1 = Libro { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `biblioteca` [INFO] [stdout] --> src/tp05/ej04.rs:1040:17 [INFO] [stdout] | [INFO] [stdout] 1040 | ... let mut biblioteca = Biblioteca::new("nombre".to_string(), "direccion".to_string(), String::from(path_books), String::from(path_pre... [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_biblioteca` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:1040:13 [INFO] [stdout] | [INFO] [stdout] 1040 | ... let mut biblioteca = Biblioteca::new("nombre".to_string(), "direccion".to_string(), String::from(path_books), String::from(path_pre... [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:1050:13 [INFO] [stdout] | [INFO] [stdout] 1050 | let mut libro = Libro { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej04.rs:1059:13 [INFO] [stdout] | [INFO] [stdout] 1059 | let mut libro1 = Libro { [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `numero_tarjeta` [INFO] [stdout] --> src/tp05/ej05.rs:148:41 [INFO] [stdout] | [INFO] [stdout] 148 | MedioPago::TarjetaCredito { numero_tarjeta } => String::from("TarjetaCredito"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `numero_tarjeta: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cbu` [INFO] [stdout] --> src/tp05/ej05.rs:149:38 [INFO] [stdout] | [INFO] [stdout] 149 | MedioPago::MercadoPago { cbu } => String::from("MercadoPago"), [INFO] [stdout] | ^^^ help: try ignoring the field: `cbu: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cuenta_destino` [INFO] [stdout] --> src/tp05/ej05.rs:150:48 [INFO] [stdout] | [INFO] [stdout] 150 | MedioPago::TransferenciaBancaria { cuenta_destino, cuenta_origen } => String::from("TransferenciaBancaria"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `cuenta_destino: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cuenta_origen` [INFO] [stdout] --> src/tp05/ej05.rs:150:64 [INFO] [stdout] | [INFO] [stdout] 150 | MedioPago::TransferenciaBancaria { cuenta_destino, cuenta_origen } => String::from("TransferenciaBancaria"), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try ignoring the field: `cuenta_origen: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tipo_cripto` [INFO] [stdout] --> src/tp05/ej05.rs:151:33 [INFO] [stdout] | [INFO] [stdout] 151 | MedioPago::Cripto { tipo_cripto } => String::from("Cripto"), [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `tipo_cripto: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:261:17 [INFO] [stdout] | [INFO] [stdout] 261 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | Err(e) => Err(ErroresPersonalizados::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej05.rs:275:23 [INFO] [stdout] | [INFO] [stdout] 275 | .map_err(|e| ErroresPersonalizados::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:267:13 [INFO] [stdout] | [INFO] [stdout] 267 | let mut file:File = match File::create(self.archivo_usuarios_suscripciones.clone()) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suscripcion` [INFO] [stdout] --> src/tp05/ej05.rs:432:50 [INFO] [stdout] | [INFO] [stdout] 432 | u.suscripciones.iter().for_each(|suscripcion| { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_suscripcion` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:493:13 [INFO] [stdout] | [INFO] [stdout] 493 | let mut usuarios = vec![user0.clone()]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut user0 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:553:13 [INFO] [stdout] | [INFO] [stdout] 553 | let mut user1 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | let mut user2 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:583:13 [INFO] [stdout] | [INFO] [stdout] 583 | let mut user3 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:602:13 [INFO] [stdout] | [INFO] [stdout] 602 | let mut usuarios = vec![user0.clone(), user1.clone(), user2.clone(), user3.clone()]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | let mut plataforma = StreamingRust {usuarios, archivo_usuarios_suscripciones: path.into()}; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:639:13 [INFO] [stdout] | [INFO] [stdout] 639 | let mut suscripcion: Suscripcion = Suscripcion::new(TipoSuscripcion::Clasic, 3, "12/9/2020".to_string()); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:665:13 [INFO] [stdout] | [INFO] [stdout] 665 | let mut usuarios = vec![user0.clone()]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej05.rs:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | let mut suscripcion: Suscripcion = Suscripcion::new(TipoSuscripcion::Clasic, 3, "12/9/2020".to_string()); [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | Err(e) => Err(ErrorIntercambio::ErrorArchivo), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:157:17 [INFO] [stdout] | [INFO] [stdout] 157 | Err(e) => Err(ErrorIntercambio::ErrorArchivo)?, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/tp05/ej06.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | .map_err(|e| ErrorIntercambio::ErrorArchivo)?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | let mut file:File = match File::create(self.archivo_usuarios_balances.clone()) { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:618:13 [INFO] [stdout] | [INFO] [stdout] 618 | let mut user0 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:628:13 [INFO] [stdout] | [INFO] [stdout] 628 | let mut user1 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:638:13 [INFO] [stdout] | [INFO] [stdout] 638 | let mut user2 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | let mut user3 = Usuario { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp05/ej06.rs:1042:13 [INFO] [stdout] | [INFO] [stdout] 1042 | let mut user_nuevo = Usuario { [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `suma_auxiliar` is never read [INFO] [stdout] --> src/main.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut suma_auxiliar: i32 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | let mut var_ingresada: bool = match var_ingresada.trim().parse(){ [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | let mut var_ingresada = var_ingresada && t; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:58:9 [INFO] [stdout] | [INFO] [stdout] 58 | let mut var_ingresada = var_ingresada || t; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 89 | let mut number :u32 = 2; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | let mut number_ingresado:u32 = match number_ingresado.trim().parse(){ [INFO] [stdout] | ----^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mut number = number + number_ingresado; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let mut caracter: char = caracter.trim().parse() [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v1::Examen` is more private than the item `julieta_murias_v1::obtener_materia_calificacion_alta` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v1::obtener_materia_calificacion_alta` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v1::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v1::Examen` is more private than the item `julieta_murias_v1::obtener_materia_calificacion_baja` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v1::obtener_materia_calificacion_baja` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v1::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej07::Color` is more private than the item `ej07::compare_colors` [INFO] [stdout] --> src/tp03/ej07.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej07::compare_colors` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej07::Color` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej07.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | enum Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej07::Auto` is more private than the item `ej07::compare` [INFO] [stdout] --> src/tp03/ej07.rs:41:1 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej07::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej07::Auto` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej07.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | struct Auto { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej08::Genero` is more private than the item `ej08::compare_genre` [INFO] [stdout] --> src/tp03/ej08.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej08::compare_genre` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej08::Genero` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej08.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | enum Genero { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej08::Cancion` is more private than the item `ej08::compare` [INFO] [stdout] --> src/tp03/ej08.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej08::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej08::Cancion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej08.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | struct Cancion { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Dueño` is more private than the item `ej09::compare_owners` [INFO] [stdout] --> src/tp03/ej09.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_owners` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Dueño` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Dueño { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::TipoAnimal` is more private than the item `ej09::compare_type` [INFO] [stdout] --> src/tp03/ej09.rs:51:1 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::TipoAnimal` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | enum TipoAnimal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Mascota` is more private than the item `ej09::compare_pets` [INFO] [stdout] --> src/tp03/ej09.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_pets` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Mascota` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | struct Mascota { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej09::Atencion` is more private than the item `ej09::compare_atencion` [INFO] [stdout] --> src/tp03/ej09.rs:78:1 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej09::compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej09::Atencion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej09.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | struct Atencion { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej10::EstadoPrestamo` is more private than the item `ej10::no_devolvio` [INFO] [stdout] --> src/tp03/ej10.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej10::no_devolvio` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej10::EstadoPrestamo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej10.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum EstadoPrestamo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `ej10::Cliente` is more private than the item `ej10::compare_clientes` [INFO] [stdout] --> src/tp03/ej10.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `ej10::compare_clientes` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `ej10::Cliente` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/ej10.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | struct Cliente { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v2::Examen` is more private than the item `julieta_murias_v2::obtener_materia_calificacion_alta` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub fn obtener_materia_calificacion_alta(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v2::obtener_materia_calificacion_alta` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v2::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `julieta_murias_v2::Examen` is more private than the item `julieta_murias_v2::obtener_materia_calificacion_baja` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn obtener_materia_calificacion_baja(examenes: &Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `julieta_murias_v2::obtener_materia_calificacion_baja` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `julieta_murias_v2::Examen` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | struct Examen { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej01::Color` is more private than the item `tp05::ej01::compare_colors` [INFO] [stdout] --> src/tp05/ej01.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn compare_colors(color1: &Color, color2: &Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej01::compare_colors` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej01::Color` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej01.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | enum Color { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej01::Auto` is more private than the item `tp05::ej01::compare` [INFO] [stdout] --> src/tp05/ej01.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn compare (auto1: &Auto, auto2: &Auto) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej01::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej01::Auto` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej01.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | struct Auto { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej02::Genero` is more private than the item `tp05::ej02::compare_genre` [INFO] [stdout] --> src/tp05/ej02.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn compare_genre(genero1: &Genero, genero2: &Genero) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej02::compare_genre` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej02::Genero` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej02.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | enum Genero { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej02::Cancion` is more private than the item `tp05::ej02::compare` [INFO] [stdout] --> src/tp05/ej02.rs:60:1 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn compare (cancion1: &Cancion, cancion2: &Cancion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej02::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej02::Cancion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej02.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | struct Cancion { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Dueño` is more private than the item `tp05::ej03::compare_owners` [INFO] [stdout] --> src/tp05/ej03.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn compare_owners(owner1: &Dueño, owner2: &Dueño) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_owners` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Dueño` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | struct Dueño { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::TipoAnimal` is more private than the item `tp05::ej03::compare_type` [INFO] [stdout] --> src/tp05/ej03.rs:59:1 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn compare_type(type1: &TipoAnimal, type2: &TipoAnimal) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::TipoAnimal` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | enum TipoAnimal { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Mascota` is more private than the item `tp05::ej03::compare_pets` [INFO] [stdout] --> src/tp05/ej03.rs:69:1 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn compare_pets (mascota1: &Mascota, mascota2: &Mascota) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_pets` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Mascota` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | struct Mascota { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej03::Atencion` is more private than the item `tp05::ej03::compare_atencion` [INFO] [stdout] --> src/tp05/ej03.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej03::compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej03::Atencion` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej03.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | struct Atencion { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej04::EstadoPrestamo` is more private than the item `tp05::ej04::no_devolvio` [INFO] [stdout] --> src/tp05/ej04.rs:70:1 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn no_devolvio (estado: &EstadoPrestamo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej04::no_devolvio` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej04::EstadoPrestamo` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej04.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | enum EstadoPrestamo { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `tp05::ej04::Cliente` is more private than the item `tp05::ej04::compare_clientes` [INFO] [stdout] --> src/tp05/ej04.rs:77:1 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn compare_clientes (cliente1: &Cliente, cliente2: &Cliente) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp05::ej04::compare_clientes` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp05::ej04::Cliente` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp05/ej04.rs:57:1 [INFO] [stdout] | [INFO] [stdout] 57 | struct Cliente { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calcular_area` is never used [INFO] [stdout] --> src/tp03/ej04.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl Triangulo { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | fn calcular_area (&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre` and `id` are never read [INFO] [stdout] --> src/tp03/ej05.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Producto { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 2 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 3 | precio_bruto: f64, [INFO] [stdout] 4 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tp03/julieta_murias_v1.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Informe { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 14 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 16 | cant_examenes_rendidos: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | promedio: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | nota_baja: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | materia_baja: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | nota_alta: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | materia_alta: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `VERDE` and `AZUL` are never constructed [INFO] [stdout] --> src/tp03/ej07.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 3 | enum Color { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 4 | ROJO, [INFO] [stdout] 5 | VERDE, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | AZUL, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Color` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre` and `direccion` are never read [INFO] [stdout] --> src/tp03/ej07.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct ConsecionarioAuto { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 21 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | direccion: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `RAP` is never constructed [INFO] [stdout] --> src/tp03/ej08.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 2 | enum Genero { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 6 | RAP, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Genero` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OTROS` is never constructed [INFO] [stdout] --> src/tp03/ej09.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 7 | enum TipoAnimal { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 11 | OTROS, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TipoAnimal` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre`, `direccion`, and `id` are never read [INFO] [stdout] --> src/tp03/ej09.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct Veterinaria { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 15 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 16 | direccion: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_atencion` is never used [INFO] [stdout] --> src/tp03/ej09.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn compare_atencion(atencion1: &Atencion, atencion2: &Atencion) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `modificar_diagnostico`, `modificar_fecha`, and `eliminar_atencion` are never used [INFO] [stdout] --> src/tp03/ej09.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 85 | impl Veterinaria { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | fn modificar_diagnostico(&mut self, diagnostico_nuevo: String, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn modificar_fecha(&mut self, fecha_nueva: Option, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | fn eliminar_atencion (&mut self, atencion: &Atencion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Tecnico` is never constructed [INFO] [stdout] --> src/tp03/ej10.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 5 | enum Genero { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | Tecnico, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Genero` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre` and `direccion` are never read [INFO] [stdout] --> src/tp03/ej10.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | struct Biblioteca { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 20 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 21 | direccion: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biblioteca` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `titulo`, `autor`, `numero_paginas`, and `genero` are never read [INFO] [stdout] --> src/tp03/ej10.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 27 | struct Libro { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 28 | isbn: u32, [INFO] [stdout] 29 | titulo: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 30 | copias_disponiles: u32, [INFO] [stdout] 31 | autor: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 32 | numero_paginas: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 33 | genero: Genero, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Libro` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `fecha_devolucion` is never read [INFO] [stdout] --> src/tp03/ej10.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 37 | struct Prestamo { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 41 | fecha_devolucion: Fecha, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Prestamo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/tp03/julieta_murias_v2.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Informe { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 14 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 15 | id: i32, [INFO] [stdout] | ^^ [INFO] [stdout] 16 | cant_examenes_rendidos: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 17 | promedio: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | nota_baja: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | materia_baja: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 20 | nota_alta: f64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 21 | materia_alta: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre` and `direccion` are never read [INFO] [stdout] --> src/tp05/ej01.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 30 | struct ConsecionarioAuto { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 31 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 32 | direccion: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tp05/ej01.rs:41:18 [INFO] [stdout] | [INFO] [stdout] 41 | ErrorArchivo(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErroresPersonalizados` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 41 - ErrorArchivo(String), [INFO] [stdout] 41 + ErrorArchivo(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tp05/ej01.rs:42:22 [INFO] [stdout] | [INFO] [stdout] 42 | AutoNoEncontrado(String), [INFO] [stdout] | ---------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `ErroresPersonalizados` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 42 - AutoNoEncontrado(String), [INFO] [stdout] 42 + AutoNoEncontrado(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tp05/ej02.rs:34:25 [INFO] [stdout] | [INFO] [stdout] 34 | CancionNoEncontrada(String), [INFO] [stdout] | ------------------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 34 - CancionNoEncontrada(String), [INFO] [stdout] 34 + CancionNoEncontrada(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/tp05/ej02.rs:35:18 [INFO] [stdout] | [INFO] [stdout] 35 | ErrorArchivo(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 35 - ErrorArchivo(String), [INFO] [stdout] 35 + ErrorArchivo(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AtencionNoEncontrada` is never constructed [INFO] [stdout] --> src/tp05/ej03.rs:97:5 [INFO] [stdout] | [INFO] [stdout] 94 | enum ErroresPersonalizados { [INFO] [stdout] | --------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 97 | AtencionNoEncontrada, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nombre` and `direccion` are never read [INFO] [stdout] --> src/tp05/ej04.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 28 | struct Biblioteca { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 29 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 30 | direccion: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Biblioteca` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | concesionario.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = concesionario.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | concesionario.agregar_auto(&auto2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 218 | let _ = concesionario.agregar_auto(&auto2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | concesionario.agregar_auto(&auto3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 219 | let _ = concesionario.agregar_auto(&auto3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | concesionario.eliminar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 239 | let _ = concesionario.eliminar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | concesionario.agregar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 243 | let _ = concesionario.agregar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | concesionario.eliminar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 244 | let _ = concesionario.eliminar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | concesionario.agregar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 247 | let _ = concesionario.agregar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:248:9 [INFO] [stdout] | [INFO] [stdout] 248 | concesionario.agregar_auto(&auto2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 248 | let _ = concesionario.agregar_auto(&auto2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 249 | concesionario.eliminar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 249 | let _ = concesionario.eliminar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:267:9 [INFO] [stdout] | [INFO] [stdout] 267 | concesionario.agregar_auto(&auto1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 267 | let _ = concesionario.agregar_auto(&auto1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej01.rs:268:9 [INFO] [stdout] | [INFO] [stdout] 268 | concesionario.agregar_auto(&auto2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 268 | let _ = concesionario.agregar_auto(&auto2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | playlist.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 77 | let _ = playlist.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:259:9 [INFO] [stdout] | [INFO] [stdout] 259 | playlist.agregar_cancion(&cancion1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 259 | let _ = playlist.agregar_cancion(&cancion1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | playlist.agregar_cancion(&cancion2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = playlist.agregar_cancion(&cancion2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:262:9 [INFO] [stdout] | [INFO] [stdout] 262 | playlist.eliminar_cancion(&cancion1); //Delete just 1 song. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 262 | let _ = playlist.eliminar_cancion(&cancion1); //Delete just 1 song. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | playlist.eliminar_cancion(&cancion3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 266 | let _ = playlist.eliminar_cancion(&cancion3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:277:9 [INFO] [stdout] | [INFO] [stdout] 277 | playlist.agregar_cancion(&cancion1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 277 | let _ = playlist.agregar_cancion(&cancion1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:295:9 [INFO] [stdout] | [INFO] [stdout] 295 | playlist.agregar_cancion(&cancion1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 295 | let _ = playlist.agregar_cancion(&cancion1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | playlist.agregar_cancion(&cancion2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 296 | let _ = playlist.agregar_cancion(&cancion2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:297:9 [INFO] [stdout] | [INFO] [stdout] 297 | playlist.agregar_cancion(&cancion3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 297 | let _ = playlist.agregar_cancion(&cancion3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:299:9 [INFO] [stdout] | [INFO] [stdout] 299 | playlist.eliminar_todas_las_canciones(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 299 | let _ = playlist.eliminar_todas_las_canciones(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:313:9 [INFO] [stdout] | [INFO] [stdout] 313 | playlist.agregar_cancion(&cancion1); //Originally in pos 0 (in playlist). [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 313 | let _ = playlist.agregar_cancion(&cancion1); //Originally in pos 0 (in playlist). [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:314:9 [INFO] [stdout] | [INFO] [stdout] 314 | playlist.agregar_cancion(&cancion2); //Originally in pos 1 (in playlist). [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 314 | let _ = playlist.agregar_cancion(&cancion2); //Originally in pos 1 (in playlist). [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:315:9 [INFO] [stdout] | [INFO] [stdout] 315 | playlist.agregar_cancion(&cancion3); //Originally in pos 2 (in playlist). [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 315 | let _ = playlist.agregar_cancion(&cancion3); //Originally in pos 2 (in playlist). [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:321:9 [INFO] [stdout] | [INFO] [stdout] 321 | playlist.mover_cancion(&cancion2, 2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 321 | let _ = playlist.mover_cancion(&cancion2, 2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | playlist.mover_cancion(&cancion4, 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 325 | let _ = playlist.mover_cancion(&cancion4, 0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:329:9 [INFO] [stdout] | [INFO] [stdout] 329 | playlist.mover_cancion(&cancion1, 3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 329 | let _ = playlist.mover_cancion(&cancion1, 3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | playlist.agregar_cancion(&cancion1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 356 | let _ = playlist.agregar_cancion(&cancion1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:357:9 [INFO] [stdout] | [INFO] [stdout] 357 | playlist.agregar_cancion(&cancion2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 357 | let _ = playlist.agregar_cancion(&cancion2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | playlist.agregar_cancion(&cancion3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 358 | let _ = playlist.agregar_cancion(&cancion3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 359 | playlist.agregar_cancion(&cancion4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 359 | let _ = playlist.agregar_cancion(&cancion4); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:381:9 [INFO] [stdout] | [INFO] [stdout] 381 | playlist.agregar_cancion(&cancion1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 381 | let _ = playlist.agregar_cancion(&cancion1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:382:9 [INFO] [stdout] | [INFO] [stdout] 382 | playlist.agregar_cancion(&cancion2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 382 | let _ = playlist.agregar_cancion(&cancion2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:383:9 [INFO] [stdout] | [INFO] [stdout] 383 | playlist.agregar_cancion(&cancion3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 383 | let _ = playlist.agregar_cancion(&cancion3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej02.rs:384:9 [INFO] [stdout] | [INFO] [stdout] 384 | playlist.agregar_cancion(&cancion4); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 384 | let _ = playlist.agregar_cancion(&cancion4); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | veterinaria.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 113 | let _ = veterinaria.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:121:9 [INFO] [stdout] | [INFO] [stdout] 121 | serde_json::to_writer_pretty(file, &self); //Serialize the data structure (La veterinaria). [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 121 | let _ = serde_json::to_writer_pretty(file, &self); //Serialize the data structure (La veterinaria). [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 159 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:164:13 [INFO] [stdout] | [INFO] [stdout] 164 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 164 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | self.cargar_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 274 | let _ = self.cargar_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:356:9 [INFO] [stdout] | [INFO] [stdout] 356 | vet.registrar_atencion(String::from("Antibióticos"), String::from("Infección"), fecha.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 356 | let _ = vet.registrar_atencion(String::from("Antibióticos"), String::from("Infección"), fecha.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:376:9 [INFO] [stdout] | [INFO] [stdout] 376 | vet.eliminar_mascota(mascota); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 376 | let _ = vet.eliminar_mascota(mascota); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:403:9 [INFO] [stdout] | [INFO] [stdout] 403 | vet.modificar_diagnostico("Resfrio".to_string(), &atencion.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 403 | let _ = vet.modificar_diagnostico("Resfrio".to_string(), &atencion.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 427 | vet.modificar_fecha(Some(fecha_nueva), &atencion.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 427 | let _ = vet.modificar_fecha(Some(fecha_nueva), &atencion.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej03.rs:450:9 [INFO] [stdout] | [INFO] [stdout] 450 | vet.eliminar_atencion(&atencion.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 450 | let _ = vet.eliminar_atencion(&atencion.unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | biblioteca.inicializar_archivo_libros(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 97 | let _ = biblioteca.inicializar_archivo_libros(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | biblioteca.inicializar_archivo_prestamos(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 98 | let _ = biblioteca.inicializar_archivo_prestamos(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | serde_json::to_writer_pretty(file, &self.libros); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 107 | let _ = serde_json::to_writer_pretty(file, &self.libros); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | serde_json::to_writer_pretty(file, &self.prestamos); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 115 | let _ = serde_json::to_writer_pretty(file, &self.prestamos); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:378:9 [INFO] [stdout] | [INFO] [stdout] 378 | biblioteca.decrementar_cantidad_copias(&libro); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 378 | let _ = biblioteca.decrementar_cantidad_copias(&libro); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:406:9 [INFO] [stdout] | [INFO] [stdout] 406 | biblioteca.incrementar_cantidad_copias(&libro); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 406 | let _ = biblioteca.incrementar_cantidad_copias(&libro); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:752:9 [INFO] [stdout] | [INFO] [stdout] 752 | biblioteca.devolver_libro(&libro, &cliente);//Lo devuelvo. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 752 | let _ = biblioteca.devolver_libro(&libro, &cliente);//Lo devuelvo. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:875:9 [INFO] [stdout] | [INFO] [stdout] 875 | biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 875 | let _ = biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:878:9 [INFO] [stdout] | [INFO] [stdout] 878 | biblioteca.decrementar_cantidad_copias(&libro); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 878 | let _ = biblioteca.decrementar_cantidad_copias(&libro); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:918:9 [INFO] [stdout] | [INFO] [stdout] 918 | biblioteca.incrementar_cantidad_copias(&libro); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 918 | let _ = biblioteca.incrementar_cantidad_copias(&libro); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:964:9 [INFO] [stdout] | [INFO] [stdout] 964 | biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 964 | let _ = biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:965:9 [INFO] [stdout] | [INFO] [stdout] 965 | biblioteca.cargar_al_archivo_prestamos(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 965 | let _ = biblioteca.cargar_al_archivo_prestamos(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:968:9 [INFO] [stdout] | [INFO] [stdout] 968 | biblioteca.devolver_libro(&libro, &cliente);//Lo devuelvo. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 968 | let _ = biblioteca.devolver_libro(&libro, &cliente);//Lo devuelvo. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:1022:9 [INFO] [stdout] | [INFO] [stdout] 1022 | biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1022 | let _ = biblioteca.cargar_al_archivo_libros(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:1023:9 [INFO] [stdout] | [INFO] [stdout] 1023 | biblioteca.cargar_al_archivo_prestamos(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1023 | let _ = biblioteca.cargar_al_archivo_prestamos(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:1071:9 [INFO] [stdout] | [INFO] [stdout] 1071 | biblioteca.cargar_al_archivo_libros(); //Ok. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1071 | let _ = biblioteca.cargar_al_archivo_libros(); //Ok. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej04.rs:1073:9 [INFO] [stdout] | [INFO] [stdout] 1073 | biblioteca.incrementar_cantidad_copias(&libro); //Ok. El archivo se modifica con el estado actual del libro. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1073 | let _ = biblioteca.incrementar_cantidad_copias(&libro); //Ok. El archivo se modifica con el estado actual del libro. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | suscripcion.upgrade(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 198 | let _ = suscripcion.upgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | plataforma.inicializar_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 239 | let _ = plataforma.inicializar_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:247:9 [INFO] [stdout] | [INFO] [stdout] 247 | serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 247 | let _ = serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:307:13 [INFO] [stdout] | [INFO] [stdout] 307 | user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 307 | let _ = user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:332:13 [INFO] [stdout] | [INFO] [stdout] 332 | user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 332 | let _ = user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:496:9 [INFO] [stdout] | [INFO] [stdout] 496 | plataforma.upgrade_suscripcion(&mut user0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 496 | let _ = plataforma.upgrade_suscripcion(&mut user0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:523:9 [INFO] [stdout] | [INFO] [stdout] 523 | plataforma.upgrade_suscripcion(&mut user1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 523 | let _ = plataforma.upgrade_suscripcion(&mut user1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:527:9 [INFO] [stdout] | [INFO] [stdout] 527 | plataforma.cancelar_suscripcion(&mut user0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 527 | let _ = plataforma.cancelar_suscripcion(&mut user0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:734:9 [INFO] [stdout] | [INFO] [stdout] 734 | ... plataforma.crear_usuario(&Suscripcion { tipo: TipoSuscripcion::Basic, duracion_meses: 8, fecha_inicio: "12/12/2000".to_string(), activa: true }, &MedioPago::Efectivo, 1, "user1".to_string(), "nombre1".to_string(), "ape1".to_string(), "email1".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 734 | let _ = plataforma.crear_usuario(&Suscripcion { tipo: TipoSuscripcion::Basic, duracion_meses: 8, fecha_inicio: "12/12/2000".to_string(), activa: true }, &MedioPago::Efectivo, 1, "user1".to_string(), "nombre1".to_string(), "ape1".to_string(), "email1".to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej05.rs:737:9 [INFO] [stdout] | [INFO] [stdout] 737 | ... plataforma.crear_usuario(&Suscripcion { tipo: TipoSuscripcion::Basic, duracion_meses: 8, fecha_inicio: "12/12/2000".to_string(), activa: true }, &MedioPago::Efectivo, 2, "user2".to_string(), "nombre2".to_string(), "ape2".to_string(), "email2".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 737 | let _ = plataforma.crear_usuario(&Suscripcion { tipo: TipoSuscripcion::Basic, duracion_meses: 8, fecha_inicio: "12/12/2000".to_string(), activa: true }, &MedioPago::Efectivo, 2, "user2".to_string(), "nombre2".to_string(), "ape2".to_string(), "email2".to_string()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | plataforma.inicializar_archivo_transacciones(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 117 | let _ = plataforma.inicializar_archivo_transacciones(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | plataforma.inicializar_archivo_usuarios_balances(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 118 | let _ = plataforma.inicializar_archivo_usuarios_balances(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 127 | let _ = serde_json::to_writer_pretty(file, &self.usuarios); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | serde_json::to_writer_pretty(file, &self.transacciones); //Serialize the data structure. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = serde_json::to_writer_pretty(file, &self.transacciones); //Serialize the data structure. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:390:10 [INFO] [stdout] | [INFO] [stdout] 390 | self.cargar_transaccion_al_archivo(&transaccion.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 390 | let _ = self.cargar_transaccion_al_archivo(&transaccion.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:393:10 [INFO] [stdout] | [INFO] [stdout] 393 | self.cargar_usuarios_al_archivo(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 393 | let _ = self.cargar_usuarios_al_archivo(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:658:9 [INFO] [stdout] | [INFO] [stdout] 658 | plataforma.registrar_usuario(user0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 658 | let _ = plataforma.registrar_usuario(user0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:659:9 [INFO] [stdout] | [INFO] [stdout] 659 | plataforma.registrar_usuario(user1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 659 | let _ = plataforma.registrar_usuario(user1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:660:9 [INFO] [stdout] | [INFO] [stdout] 660 | plataforma.registrar_usuario(user2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 660 | let _ = plataforma.registrar_usuario(user2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:661:9 [INFO] [stdout] | [INFO] [stdout] 661 | plataforma.registrar_usuario(user3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 661 | let _ = plataforma.registrar_usuario(user3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:832:9 [INFO] [stdout] | [INFO] [stdout] 832 | plataforma.comprar_determinada_criptomoneda(3000.0, &mut user0, &bitcoin); //Le compro btc. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 832 | let _ = plataforma.comprar_determinada_criptomoneda(3000.0, &mut user0, &bitcoin); //Le compro btc. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:877:9 [INFO] [stdout] | [INFO] [stdout] 877 | plataforma.comprar_determinada_criptomoneda(3000.0, &mut user0, &bitcoin); //Le compro btc. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 877 | let _ = plataforma.comprar_determinada_criptomoneda(3000.0, &mut user0, &bitcoin); //Le compro btc. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1003:9 [INFO] [stdout] | [INFO] [stdout] 1003 | plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, &bitcoin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1003 | let _ = plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, &bitcoin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1005:9 [INFO] [stdout] | [INFO] [stdout] 1005 | plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, &bitcoin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1005 | let _ = plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, &bitcoin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1008:9 [INFO] [stdout] | [INFO] [stdout] 1008 | plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, ðereum); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1008 | let _ = plataforma.comprar_determinada_criptomoneda(1000.0, &mut user0, ðereum); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1010:9 [INFO] [stdout] | [INFO] [stdout] 1010 | plataforma.comprar_determinada_criptomoneda(100.0, &mut user0, &litecoin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1010 | let _ = plataforma.comprar_determinada_criptomoneda(100.0, &mut user0, &litecoin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1021:9 [INFO] [stdout] | [INFO] [stdout] 1021 | plataforma.vender_determinada_criptomoneda(&mut user0, &bitcoin, 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1021 | let _ = plataforma.vender_determinada_criptomoneda(&mut user0, &bitcoin, 0.0001); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1022:9 [INFO] [stdout] | [INFO] [stdout] 1022 | plataforma.vender_determinada_criptomoneda(&mut user0, &bitcoin, 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1022 | let _ = plataforma.vender_determinada_criptomoneda(&mut user0, &bitcoin, 0.0001); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1023:9 [INFO] [stdout] | [INFO] [stdout] 1023 | plataforma.vender_determinada_criptomoneda(&mut user0, ðereum, 0.0001); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1023 | let _ = plataforma.vender_determinada_criptomoneda(&mut user0, ðereum, 0.0001); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp05/ej06.rs:1052:9 [INFO] [stdout] | [INFO] [stdout] 1052 | plataforma.registrar_usuario(user_nuevo.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1052 | let _ = plataforma.registrar_usuario(user_nuevo.clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 28s [INFO] running `Command { std: "docker" "inspect" "1080397f563d17f05e54c55ca22845001fcc801cd24e4f4de85aca93d549e737", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1080397f563d17f05e54c55ca22845001fcc801cd24e4f4de85aca93d549e737", kill_on_drop: false }` [INFO] [stdout] 1080397f563d17f05e54c55ca22845001fcc801cd24e4f4de85aca93d549e737