[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] 4cb6cab582b4ef7681a1ef9656c4b4c8f6b180ad [INFO] checking julimuriass/seminario-rust against try#969026c535f4240ff7866ef11207dfda18a26af6 for pr-146504 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjulimuriass%2Fseminario-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [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-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/julimuriass/seminario-rust on toolchain 969026c535f4240ff7866ef11207dfda18a26af6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+969026c535f4240ff7866ef11207dfda18a26af6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+969026c535f4240ff7866ef11207dfda18a26af6" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+969026c535f4240ff7866ef11207dfda18a26af6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7eb933b9f40a81a14529bc9536cc57a6485bef6889df6253445493333ff5e32b [INFO] running `Command { std: "docker" "start" "-a" "7eb933b9f40a81a14529bc9536cc57a6485bef6889df6253445493333ff5e32b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7eb933b9f40a81a14529bc9536cc57a6485bef6889df6253445493333ff5e32b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7eb933b9f40a81a14529bc9536cc57a6485bef6889df6253445493333ff5e32b", kill_on_drop: false }` [INFO] [stdout] 7eb933b9f40a81a14529bc9536cc57a6485bef6889df6253445493333ff5e32b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+969026c535f4240ff7866ef11207dfda18a26af6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3853b7d144844b4039ceafe9be8618b58fe5ca46122ec0b349eb1257f9e0c29 [INFO] running `Command { std: "docker" "start" "-a" "d3853b7d144844b4039ceafe9be8618b58fe5ca46122ec0b349eb1257f9e0c29", 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 syn v2.0.101 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Checking futures-core v0.3.31 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking futures-task v0.3.31 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling openssl v0.10.72 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking openssl-probe v0.1.6 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Checking futures-channel v0.3.31 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling unicase v2.8.1 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking hashbrown v0.15.3 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking rustls-pki-types v1.12.0 [INFO] [stderr] Compiling indexmap v1.8.2 [INFO] [stderr] Checking sync_wrapper v1.0.2 [INFO] [stderr] Checking http v1.3.1 [INFO] [stderr] Checking unicode-ident v1.0.18 [INFO] [stderr] Checking flate2 v1.1.1 [INFO] [stderr] Checking static_assertions v1.1.0 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking anstream v0.6.18 [INFO] [stderr] Checking rustls-pemfile v2.2.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling nix v0.30.1 [INFO] [stderr] Checking twox-hash v1.6.3 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking gzip-header v1.0.0 [INFO] [stderr] Compiling cc v1.2.24 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Checking hashbrown v0.11.2 [INFO] [stderr] Compiling llvm_profparser v0.8.3 [INFO] [stderr] Checking toml_write v0.1.1 [INFO] [stderr] Checking indexmap v2.9.0 [INFO] [stderr] Checking ipnet v2.11.0 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Compiling procfs v0.17.0 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking winnow v0.7.10 [INFO] [stderr] Checking deflate v1.0.0 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Checking clap_builder v4.5.38 [INFO] [stderr] Compiling cargo-tarpaulin v0.32.7 [INFO] [stderr] Checking ruzstd v0.7.3 [INFO] [stderr] Checking object v0.26.2 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking quote v1.0.40 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking mio v1.0.3 [INFO] [stderr] Checking socket2 v0.5.9 [INFO] [stderr] Checking getrandom v0.3.3 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking humantime v2.2.0 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking quick-xml v0.37.5 [INFO] [stderr] Checking tokio v1.45.0 [INFO] [stderr] Checking glob v0.3.2 [INFO] [stderr] Checking gimli v0.31.1 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Checking regex-automata v0.4.9 [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 v1.11.1 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking hyper v1.6.0 [INFO] [stderr] Checking tower v0.5.2 [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 tracing v0.1.41 [INFO] [stderr] Checking hyper-util v0.1.12 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.0 [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_locale_core v2.0.0 [INFO] [stderr] Checking icu_collections v2.0.0 [INFO] [stderr] Checking icu_provider v2.0.0 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking icu_properties v2.0.1 [INFO] [stderr] Checking icu_normalizer v2.0.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 git2 v0.20.2 [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 toml_edit v0.22.26 [INFO] [stderr] Checking reqwest v0.12.15 [INFO] [stderr] Checking cargo_metadata v0.19.2 [INFO] [stderr] Checking procfs-core v0.17.0 [INFO] [stderr] Checking tracing-subscriber v0.3.19 [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)]` (part of `#[warn(unused)]`) 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: `std::ptr::eq` [INFO] [stdout] --> src/tp04/ej03.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ptr::eq; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: `std::ptr::eq` [INFO] [stdout] --> src/tp04/ej03.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ptr::eq; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [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)]` (part of `#[warn(unused)]`) 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: unused variable: `numero_tarjeta` [INFO] [stdout] --> src/tp04/ej03.rs:141:41 [INFO] [stdout] | [INFO] [stdout] 141 | MedioPago::TarjetaCredito { numero_tarjeta } => String::from("TarjetaCredito"), [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try ignoring the field: `numero_tarjeta: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cbu` [INFO] [stdout] --> src/tp04/ej03.rs:142:38 [INFO] [stdout] | [INFO] [stdout] 142 | 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/tp04/ej03.rs:143:48 [INFO] [stdout] | [INFO] [stdout] 143 | 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/tp04/ej03.rs:143:64 [INFO] [stdout] | [INFO] [stdout] 143 | 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/tp04/ej03.rs:144:33 [INFO] [stdout] | [INFO] [stdout] 144 | MedioPago::Cripto { tipo_cripto } => String::from("Cripto"), [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `tipo_cripto: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/tp04/ej03.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | if let user_existe = self.usuarios.iter().find(|u| u.id == id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_existe` [INFO] [stdout] --> src/tp04/ej03.rs:234:16 [INFO] [stdout] | [INFO] [stdout] 234 | if let user_existe = self.usuarios.iter().find(|u| u.id == id) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_existe` [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `suscripcion` [INFO] [stdout] --> src/tp04/ej03.rs:352:50 [INFO] [stdout] | [INFO] [stdout] 352 | 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: 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)]` (part of `#[warn(unused)]`) 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: 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: 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/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: 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] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [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/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: 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: 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 variable: `numero_tarjeta` [INFO] [stdout] --> src/tp04/ej03.rs:141:41 [INFO] [stdout] | [INFO] [stdout] 141 | 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/tp04/ej03.rs:142:38 [INFO] [stdout] | [INFO] [stdout] 142 | 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/tp04/ej03.rs:143:48 [INFO] [stdout] | [INFO] [stdout] 143 | 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/tp04/ej03.rs:143:64 [INFO] [stdout] | [INFO] [stdout] 143 | 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/tp04/ej03.rs:144:33 [INFO] [stdout] | [INFO] [stdout] 144 | MedioPago::Cripto { tipo_cripto } => String::from("Cripto"), [INFO] [stdout] | ^^^^^^^^^^^ help: try ignoring the field: `tipo_cripto: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/tp04/ej03.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | if let user_existe = self.usuarios.iter().find(|u| u.id == id) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_existe` [INFO] [stdout] --> src/tp04/ej03.rs:234:16 [INFO] [stdout] | [INFO] [stdout] 234 | if let user_existe = self.usuarios.iter().find(|u| u.id == id) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_existe` [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 `Color` is more private than the item `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 `compare_colors` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `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 `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 `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 `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 `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 `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 `Dueño` is more private than the item `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 `compare_owners` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `TipoAnimal` is more private than the item `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 `compare_type` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `Mascota` is more private than the item `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 `compare_pets` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `Atencion` is more private than the item `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 `compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `EstadoPrestamo` is more private than the item `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 `no_devolvio` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `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 `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 `tp04::ej02::Persona<'_>` is more private than the item `tp04::ej02::compare` [INFO] [stdout] --> src/tp04/ej02.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn compare (person1: Persona, person2: Persona) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp04::ej02::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp04::ej02::Persona<'_>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp04/ej02.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | struct Persona <'a>{ [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)]` (part of `#[warn(unused)]`) 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: struct `Fecha` is never constructed [INFO] [stdout] --> src/tp03/ej03.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Fecha { [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] [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] [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] [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] [INFO] [stdout] warning: unused variable: `suscripcion` [INFO] [stdout] --> src/tp04/ej03.rs:352:50 [INFO] [stdout] | [INFO] [stdout] 352 | 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: 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] [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] [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] [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] [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] [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] [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] [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] [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] [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] [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: trait `Primo` is never used [INFO] [stdout] --> src/tp04/ej01.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Primo { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `contar_primos` is never used [INFO] [stdout] --> src/tp04/ej01.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn contar_primos(numeros: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Persona` is never constructed [INFO] [stdout] --> src/tp04/ej02.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 2 | struct Persona <'a>{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `PersonaOps` is never used [INFO] [stdout] --> src/tp04/ej02.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | trait PersonaOps <'a> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare` is never used [INFO] [stdout] --> src/tp04/ej02.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn compare (person1: Persona, person2: Persona) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TipoSuscripcion` is never used [INFO] [stdout] --> src/tp04/ej03.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | enum TipoSuscripcion { [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/tp04/ej03.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl TipoSuscripcion { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 23 | fn costo_mensual(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn upgrade(&self) -> Option{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | fn downgrade(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn soy_basic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn soy_clasic(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn soy_super(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Suscripcion` is never constructed [INFO] [stdout] --> src/tp04/ej03.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct Suscripcion { [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/tp04/ej03.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Suscripcion { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 79 | fn new(tipo: TipoSuscripcion, duracion_meses: u8, fecha_inicio: String) -> Suscripcion { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn activar_suscripcion(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn desactivar_suscripcion(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn upgrade(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | fn downgrade(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MedioPago` is never used [INFO] [stdout] --> src/tp04/ej03.rs:121:6 [INFO] [stdout] | [INFO] [stdout] 121 | enum MedioPago { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/tp04/ej03.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 137 | impl MedioPago { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 138 | fn to_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Usuario` is never constructed [INFO] [stdout] --> src/tp04/ej03.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | struct Usuario { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tp04/ej03.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 160 | impl Usuario { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 161 | fn agregar_suscripcion(&mut self, suscripcion: Suscripcion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | fn obtener_suscripcion_activa(&self) -> Option<&Suscripcion> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 170 | fn obtener_suscripcion_activa_mutable(&mut self) -> Option<&mut Suscripcion> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | fn cancelar_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | fn tiene_suscripcion_activa(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn upgrade_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn downgrade_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StreamingRust` is never constructed [INFO] [stdout] --> src/tp04/ej03.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | struct StreamingRust { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp04/ej03.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 214 | impl StreamingRust { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 215 | [INFO] [stdout] 216 | pub fn crear_plataforma() -> StreamingRust { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn crear_usuario(&mut self, suscripcion: &Suscripcion, medio_pago: &MedioPago, id: u32, username: String, nombre: String, apellid... [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn upgrade_suscripcion(&mut self, usuario: &mut Usuario) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn downgrade_suscripcion(&mut self, usuario: &mut Usuario) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub fn cancelar_suscripcion(&mut self, usuario: &mut Usuario) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn suscripcion_mas_contratada_activos(&self) -> Option<(TipoSuscripcion, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn suscripcion_mas_contratada(&self) -> Option<(TipoSuscripcion, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn medio_pago_mas_usado_activos(&self) -> Option<(String, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn medio_pago_mas_usado(&self) -> Option<(String, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Producto` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | struct Producto { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Categoria` is never used [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | enum Categoria { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DatosPersona` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct DatosPersona { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `F64Wrapper` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | struct F64Wrapper(f64); //F64Wrapper is a simple struct that contains a single field of type f64. [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vendedor` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | struct Vendedor { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cliente` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | struct Cliente { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VentaProducto` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | struct VentaProducto { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Venta` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | struct Venta { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MedioPago` is never used [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:86:6 [INFO] [stdout] | [INFO] [stdout] 86 | enum MedioPago { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SistemaVentas` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | struct SistemaVentas { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReportePorCategoria` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:101:8 [INFO] [stdout] | [INFO] [stdout] 101 | struct ReportePorCategoria { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReportePorVendedor` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | struct ReportePorVendedor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 109 | impl SistemaVentas { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 110 | pub fn new() -> SistemaVentas { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn crear_venta(&mut self, fecha: String, cliente: &Cliente, vendedor: &Vendedor, productos: Vec, medio_pago: Medio... [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn obtener_porcentaje_descuento(&self, categoria: &Categoria) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn obtener_descuento_suscripcion(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn precio_final_venta(&self, venta: &Venta) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn reporte_por_vendedor(&self) -> ReportePorVendedor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn reporte_por_categoria(&self) -> ReportePorCategoria { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Informe` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:234:8 [INFO] [stdout] | [INFO] [stdout] 234 | struct Informe { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp04/ej03.rs:412:13 [INFO] [stdout] | [INFO] [stdout] 412 | let mut usuarios = vec![user0.clone()]; [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VentaInforme` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:240:8 [INFO] [stdout] | [INFO] [stdout] 240 | struct VentaInforme { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_historial_ventas` and `ordenar_ventas_por_fecha` are never used [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:248:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl SistemaVentas { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 248 | pub fn get_historial_ventas(&self, id: u32, categoria: Categoria) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub fn ordenar_ventas_por_fecha(&self, ventas: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tp04/ej03.rs:457:13 [INFO] [stdout] | [INFO] [stdout] 457 | 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/tp04/ej03.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | 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/tp04/ej03.rs:487:13 [INFO] [stdout] | [INFO] [stdout] 487 | 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/tp04/ej03.rs:502:13 [INFO] [stdout] | [INFO] [stdout] 502 | 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/tp04/ej03.rs:521:13 [INFO] [stdout] | [INFO] [stdout] 521 | 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/tp04/ej03.rs:522:13 [INFO] [stdout] | [INFO] [stdout] 522 | let mut plataforma = StreamingRust {usuarios}; [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/tp04/ej03.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | suscripcion.upgrade(); [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 191 | let _ = suscripcion.upgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | suscripcion.downgrade(); [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] 201 | let _ = suscripcion.downgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | 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] 245 | let _ = user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | user.downgrade_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] 252 | let _ = user.downgrade_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | 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] 258 | let _ = user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sistema_ventas` [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:589:17 [INFO] [stdout] | [INFO] [stdout] 589 | let mut sistema_ventas:SistemaVentas; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sistema_ventas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `venta` [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:692:13 [INFO] [stdout] | [INFO] [stdout] 692 | ... let venta = sistema_ventas.crear_venta("1/1/2025".to_string(), &cliente, &vendedor, productos.clone(), MedioPago::TransferenciaBanc... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_venta` [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 `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 `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 `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 `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 `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 `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 `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 `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 `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 `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 `Atencion` is more private than the item `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 `compare_atencion` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `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 `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 `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 `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 `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 `tp04::ej02::Persona<'_>` is more private than the item `tp04::ej02::compare` [INFO] [stdout] --> src/tp04/ej02.rs:109:1 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn compare (person1: Persona, person2: Persona) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `tp04::ej02::compare` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `tp04::ej02::Persona<'_>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/tp04/ej02.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | struct Persona <'a>{ [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)]` (part of `#[warn(unused)]`) 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: methods `costo_mensual` and `soy_super` are never used [INFO] [stdout] --> src/tp04/ej03.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl TipoSuscripcion { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 23 | fn costo_mensual(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | fn soy_super(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `duracion_meses` and `fecha_inicio` are never read [INFO] [stdout] --> src/tp04/ej03.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 71 | struct Suscripcion { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 72 | tipo: TipoSuscripcion, [INFO] [stdout] 73 | duracion_meses: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 74 | fecha_inicio: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Suscripcion` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `activar_suscripcion` is never used [INFO] [stdout] --> src/tp04/ej03.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 78 | impl Suscripcion { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 88 | fn activar_suscripcion(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `TransferenciaBancaria`, `TarjetaCredito`, and `Cripto` are never constructed [INFO] [stdout] --> src/tp04/ej03.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 121 | enum MedioPago { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 126 | TransferenciaBancaria { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | TarjetaCredito { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | Cripto { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MedioPago` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `username`, `nombre`, `apellido`, and `email` are never read [INFO] [stdout] --> src/tp04/ej03.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 150 | struct Usuario { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 154 | username: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 155 | nombre: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 156 | apellido: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 157 | email: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Usuario` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `agregar_suscripcion` and `downgrade_suscripcion` are never used [INFO] [stdout] --> src/tp04/ej03.rs:161:8 [INFO] [stdout] | [INFO] [stdout] 160 | impl Usuario { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 161 | fn agregar_suscripcion(&mut self, suscripcion: Suscripcion) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | fn downgrade_suscripcion(&mut self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `crear_plataforma`, `crear_usuario`, and `downgrade_suscripcion` are never used [INFO] [stdout] --> src/tp04/ej03.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 214 | impl StreamingRust { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 215 | [INFO] [stdout] 216 | pub fn crear_plataforma() -> StreamingRust { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn crear_usuario(&mut self, suscripcion: &Suscripcion, medio_pago: &MedioPago, id: u32, username: String, nombre: String, apellid... [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn downgrade_suscripcion(&mut self, usuario: &mut Usuario) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `datos` and `email_suscripcion` are never read [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 64 | struct Cliente { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 65 | datos: DatosPersona, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | suscripcion_newsletter: bool, [INFO] [stdout] 67 | email_suscripcion: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cliente` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `TarjetaDebito` is never constructed [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 86 | enum MedioPago { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 87 | TarjetaCredito, [INFO] [stdout] 88 | TarjetaDebito, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MedioPago` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:191:17 [INFO] [stdout] | [INFO] [stdout] 191 | suscripcion.upgrade(); [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 191 | let _ = suscripcion.upgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | suscripcion.downgrade(); [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] 201 | let _ = suscripcion.downgrade(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:245:13 [INFO] [stdout] | [INFO] [stdout] 245 | 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] 245 | let _ = user.upgrade_suscripcion(); //Update subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:252:13 [INFO] [stdout] | [INFO] [stdout] 252 | user.downgrade_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] 252 | let _ = user.downgrade_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tp04/ej03.rs:258:13 [INFO] [stdout] | [INFO] [stdout] 258 | 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] 258 | let _ = user.cancelar_suscripcion(); //Downgrade subscription. [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant1` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:577:13 [INFO] [stdout] | [INFO] [stdout] 577 | let prodCant1 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant2` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:582:13 [INFO] [stdout] | [INFO] [stdout] 582 | let prodCant2 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant1` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:631:13 [INFO] [stdout] | [INFO] [stdout] 631 | let prodCant1 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant2` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:636:13 [INFO] [stdout] | [INFO] [stdout] 636 | let prodCant2 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant1` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:680:13 [INFO] [stdout] | [INFO] [stdout] 680 | let prodCant1 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `prodCant2` should have a snake case name [INFO] [stdout] --> src/tp04/julieta_murias_e2_v2.rs:685:13 [INFO] [stdout] | [INFO] [stdout] 685 | let prodCant2 = VentaProducto { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `prod_cant2` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 17s [INFO] running `Command { std: "docker" "inspect" "d3853b7d144844b4039ceafe9be8618b58fe5ca46122ec0b349eb1257f9e0c29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3853b7d144844b4039ceafe9be8618b58fe5ca46122ec0b349eb1257f9e0c29", kill_on_drop: false }` [INFO] [stdout] d3853b7d144844b4039ceafe9be8618b58fe5ca46122ec0b349eb1257f9e0c29