[INFO] cloning repository https://github.com/MotyaRolla/TallerDeProgramacionRust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MotyaRolla/TallerDeProgramacionRust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMotyaRolla%2FTallerDeProgramacionRust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMotyaRolla%2FTallerDeProgramacionRust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2b730bfac5fe739d25fdc650aecd66fafbefb828
[INFO] testing MotyaRolla/TallerDeProgramacionRust against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMotyaRolla%2FTallerDeProgramacionRust" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MotyaRolla/TallerDeProgramacionRust
[INFO] finished tweaking git repo https://github.com/MotyaRolla/TallerDeProgramacionRust
[INFO] tweaked toml for git repo https://github.com/MotyaRolla/TallerDeProgramacionRust written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MotyaRolla/TallerDeProgramacionRust on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MotyaRolla/TallerDeProgramacionRust 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.53
[INFO] [stderr]   Downloaded zerocopy v0.8.53
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9
[INFO] running `Command { std: "docker" "start" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling zerocopy v0.8.53
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling tp1_4 v0.1.0 (/opt/rustwide/workdir/tp1/4)
[INFO] [stderr]    Compiling tp3_9 v0.1.0 (/opt/rustwide/workdir/tp3/9)
[INFO] [stderr]    Compiling tp3_7 v0.1.0 (/opt/rustwide/workdir/tp3/7)
[INFO] [stderr]    Compiling tp3_10 v0.1.0 (/opt/rustwide/workdir/tp3/10)
[INFO] [stderr]    Compiling tp2_13 v0.1.0 (/opt/rustwide/workdir/tp2/13)
[INFO] [stderr]    Compiling tp4_3 v0.1.0 (/opt/rustwide/workdir/tp4/3)
[INFO] [stderr]    Compiling tp4_1 v0.1.0 (/opt/rustwide/workdir/tp4/1)
[INFO] [stderr]    Compiling tp1_2 v0.1.0 (/opt/rustwide/workdir/tp1/2)
[INFO] [stderr]    Compiling tp2_5 v0.1.0 (/opt/rustwide/workdir/tp2/5)
[INFO] [stderr]    Compiling tp2_2 v0.1.0 (/opt/rustwide/workdir/tp2/2)
[INFO] [stdout] warning: unused import: `core::str`
[INFO] [stdout]  --> tp4/3/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::str;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |         if (self.suscripcion.is_none()) {
[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] 34 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 34 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |         if (self.suscripcion.is_none()) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 40 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 40 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout]    |            ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout] 44 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (self.suscripcion.is_none()) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 51 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 94 |             if (usuario.suscripcion.is_none()) {
[INFO] [stdout]    |                ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 94 -             if (usuario.suscripcion.is_none()) {
[INFO] [stdout] 94 +             if usuario.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:118:16
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if (usuario.medio_pago.is_none()) {
[INFO] [stdout]     |                ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -             if (usuario.medio_pago.is_none()) {
[INFO] [stdout] 118 +             if usuario.medio_pago.is_none()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |             if (usuario.suscripcion.is_none()) {
[INFO] [stdout]     |                ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             if (usuario.suscripcion.is_none()) {
[INFO] [stdout] 121 +             if usuario.suscripcion.is_none()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:124:16
[INFO] [stdout]     |
[INFO] [stdout] 124 |             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stdout]     |                ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stdout] 124 +             if active && usuario.suscripcion.as_ref().unwrap().cancelada  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if (self.anio != una_fecha.anio) {
[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] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 48 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             if (self.dia == 1) {
[INFO] [stdout] 58 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 if (self.mes == 1) {
[INFO] [stdout] 59 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -                 if (self.mes > 12) {
[INFO] [stdout] 77 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -         if(self.dia<1){
[INFO] [stdout] 87 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(self.es_bisiesto()){
[INFO] [stdout] 110 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:178:16
[INFO] [stdout]     |
[INFO] [stdout] 178 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 178 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:199:16
[INFO] [stdout]     |
[INFO] [stdout] 199 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout]     |                ^
[INFO] [stdout] 200 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout] 200 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 208 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout] 208 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 215 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 215 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:216:20
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 if (self.copias[i].cantidad>0){
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 216 -                 if (self.copias[i].cantidad>0){
[INFO] [stdout] 216 +                 if self.copias[i].cantidad>0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:244:16
[INFO] [stdout]     |
[INFO] [stdout] 244 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 244 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 244 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:247:20
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 247 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout] 247 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 258 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 258 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout]     |                    ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout] 259 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:270:16
[INFO] [stdout]     |
[INFO] [stdout] 270 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout]     |                ^
[INFO] [stdout] 271 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 270 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout] 271 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:280:16
[INFO] [stdout]     |
[INFO] [stdout] 280 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 283 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 280 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout] 281 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stdout] 282 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stdout] 283 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp3_6 v0.1.0 (/opt/rustwide/workdir/tp3/6)
[INFO] [stdout] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Tipo_Animal {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `perro` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `gato` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |           ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `caballo` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |                ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |                        ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/10/src/main.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/10/src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp3/10/src/main.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 104 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[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] 73 -             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[INFO] [stdout] 73 +             if nombre==msc.nombre && msc.dueno.nombre==nombre_dueno {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stdout]    |               ^
[INFO] [stdout] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 87 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stdout]    |                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stdout] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 87 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stdout]    |               ^
[INFO] [stdout] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 97 |                 && at.mascota.dueno.telefono == telefono) {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stdout] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 97 ~                 && at.mascota.dueno.telefono == telefono  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stdout]     |               ^
[INFO] [stdout] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 107 |                 && at.mascota.dueno.telefono == telefono){
[INFO] [stdout]     |                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stdout] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 107 ~                 && at.mascota.dueno.telefono == telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stdout]     |               ^
[INFO] [stdout] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 118 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stdout]     |                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 116 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stdout] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 118 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if (self.anio != una_fecha.anio) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 131 +         if self.anio != una_fecha.anio  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]     |                   ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 133 +         } else if self.mes != una_fecha.mes  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |             if (self.dia == 1) {
[INFO] [stdout]     |                ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 141 -             if (self.dia == 1) {
[INFO] [stdout] 141 +             if self.dia == 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 if (self.mes == 1) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -                 if (self.mes == 1) {
[INFO] [stdout] 142 +                 if self.mes == 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]     |                ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 157 +             if self.dia > Fecha::max_dias(self)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:160:20
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 if (self.mes > 12) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -                 if (self.mes > 12) {
[INFO] [stdout] 160 +                 if self.mes > 12  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:170:11
[INFO] [stdout]     |
[INFO] [stdout] 170 |         if(self.dia<1){
[INFO] [stdout]     |           ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 170 -         if(self.dia<1){
[INFO] [stdout] 170 +         if self.dia<1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]     |           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 173 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -             if(self.es_bisiesto()){
[INFO] [stdout] 193 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `crear_usuario`, `upgrade`, `downgrade`, and `cancelar` are never used
[INFO] [stdout]   --> tp4/3/src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Usuario {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 25 |     fn crear_usuario(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn upgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn downgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn cancelar(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upgrade` and `downgrade` are never used
[INFO] [stdout]   --> tp4/3/src/main.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Suscripción {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 58 |     fn upgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn downgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Platform` is never constructed
[INFO] [stdout]   --> tp4/3/src/main.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct Platform {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tipo_mas_utilizado` and `medio_pago_mas_utilizado` are never used
[INFO] [stdout]    --> tp4/3/src/main.rs:89:8
[INFO] [stdout]     |
[INFO] [stdout]  88 | impl Platform {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout]  89 |     fn tipo_mas_utilizado(&self) -> Option<TipoSuscripcion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn medio_pago_mas_utilizado(&self, active: bool) -> Option<MedioDePago> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TipoSuscripcion` is never used
[INFO] [stdout]    --> tp4/3/src/main.rs:175:6
[INFO] [stdout]     |
[INFO] [stdout] 175 | enum TipoSuscripcion {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suscripción` is never constructed
[INFO] [stdout]    --> tp4/3/src/main.rs:181:8
[INFO] [stdout]     |
[INFO] [stdout] 181 | struct Suscripción {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MedioDePago` is never used
[INFO] [stdout]    --> tp4/3/src/main.rs:189:6
[INFO] [stdout]     |
[INFO] [stdout] 189 | enum MedioDePago {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usuario` is never constructed
[INFO] [stdout]    --> tp4/3/src/main.rs:197:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | struct Usuario {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp3_1 v0.1.0 (/opt/rustwide/workdir/tp3/1)
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> tp3/10/src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Fecha{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp3/10/src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  43 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Libro{
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> tp3/10/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Genero{
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopiaRegistro` is never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct CopiaRegistro{
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Cliente{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct Prestamo{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EstadoPrestamo` is never used
[INFO] [stdout]    --> tp3/10/src/main.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 | enum EstadoPrestamo{
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Biblioteca{
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp3/10/src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Biblioteca{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(nombre: String, direccion: String) -> Biblioteca{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn obtener_cantidad_copias(&self, libro: &Libro) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn agregar_copias(&mut self, libro: Libro, cantidad: u32){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn incrementar_copias(&mut self, libro: &Libro){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn contar_prestamos_cliente(&self, cliente: &Cliente) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     fn realizar_prestamo(&mut self, libro: Libro, cliente: Cliente, fecha_venc: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn buscar_prestamo(&self, libro: &Libro, cliente: &Cliente) -> Option<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn devolver_libro(&mut self, libro: &Libro, cliente: &Cliente, fecha_dev: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rojo` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     rojo,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `verde` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     verde,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `azul` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     azul,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `amarillo` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     amarillo,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `blanco` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     blanco,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `negro` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     negro,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[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] 58 -         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[INFO] [stdout] 58 +         if *c == Color::rojo || *c == Color::verde || *c == Color::azul {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if (self.marca == "BMW") {
[INFO] [stdout]    |            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -         if (self.marca == "BMW") {
[INFO] [stdout] 63 +         if self.marca == "BMW" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |         if (self.anio < 2000) {
[INFO] [stdout]    |            ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -         if (self.anio < 2000) {
[INFO] [stdout] 66 +         if self.anio < 2000 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 if (auto.color == i) {
[INFO] [stdout]    |                    ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                 if (auto.color == i) {
[INFO] [stdout] 95 +                 if auto.color == i {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stdout] 105 +         if (self.autos.len() as u32) < self.capacidad {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |             if (self.autos[i].marca == marca
[INFO] [stdout]     |                ^
[INFO] [stdout] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 117 |                 && self.autos[i].anio == anio)
[INFO] [stdout]     |                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 ~             if self.autos[i].marca == marca
[INFO] [stdout] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 117 ~                 && self.autos[i].anio == anio
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |             if (self.autos[i].marca == marca
[INFO] [stdout]     |                ^
[INFO] [stdout] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 130 |                 && self.autos[i].anio == anio)
[INFO] [stdout]     |                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 ~             if self.autos[i].marca == marca
[INFO] [stdout] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 130 ~                 && self.autos[i].anio == anio
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp3/9/src/main.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp3/9/src/main.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if (self.examenes.is_empty()) {
[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] 38 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 38 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if (self.examenes.is_empty()) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 49 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:54:15
[INFO] [stdout]    |
[INFO] [stdout] 54 |             if(max<self.examenes[i].nota){
[INFO] [stdout]    |               ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -             if(max<self.examenes[i].nota){
[INFO] [stdout] 54 +             if max<self.examenes[i].nota {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if (self.examenes.is_empty()) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 62 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stdout]    |               ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stdout] 67 +             if min>self.examenes[i].nota||min<0.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp3/9/src/main.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 187 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Fecha{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Veterinaria` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Veterinaria{
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dueno` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Dueno{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mascota` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Mascota{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Atencion` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Atencion {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Tipo_Animal` is never used
[INFO] [stdout]   --> tp3/9/src/main.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Tipo_Animal {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling tp3_2 v0.1.0 (/opt/rustwide/workdir/tp3/2)
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp3/9/src/main.rs:58:8
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl Veterinaria {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  58 |     fn new(nombre: String, dir: String, id: u32) -> Veterinaria{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     fn agregar_mascota(&mut self, mascota: Mascota){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     fn agregar_mascota_prioritaria(&mut self, mascota: Mascota){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     fn atender_proximo(&mut self) -> Option<Mascota>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     fn eliminar_mascota(&mut self, nombre: &str, nombre_dueno: &str){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     fn registrar_atencion(&mut self, atencion: Atencion){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn buscar_atencion(&self, nombre_mascota: &str, nombre_dueno: &str, telefono: &str) -> Option<&Atencion>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     fn modificar_diagnostico(&mut self, nombre_mascota: &str, nombre_dueno: &str, telefono: &str, nuevo_diag: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn modificar_proxima_visita(&mut self, nombre_mascota: &str, nombre_dueno: &str, telefono: &str, nueva_fecha: Option<Fecha>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn eliminar_atencion(&mut self, nombre_mascota: &str, nombre_dueno: &str, telefono: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp3/9/src/main.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 126 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `materia` is never read
[INFO] [stdout]   --> tp3/6/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Examen {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 16 |     materia: String,
[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 `direccion` are never read
[INFO] [stdout]   --> tp3/7/src/main.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct ConcesionarioAuto {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 74 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     direccion: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buscar_auto` is never used
[INFO] [stdout]    --> tp3/7/src/main.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl ConcesionarioAuto {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn buscar_auto(&self, marca: &str, modelo: &str, anio: u32) -> Option<&Auto> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp4_4 v0.1.0 (/opt/rustwide/workdir/tp4/4)
[INFO] [stderr]    Compiling tp1_3 v0.1.0 (/opt/rustwide/workdir/tp1/3)
[INFO] [stderr]    Compiling tp2_12 v0.1.0 (/opt/rustwide/workdir/tp2/12)
[INFO] [stderr]    Compiling tp2_7 v0.1.0 (/opt/rustwide/workdir/tp2/7)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp2/12/src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |         if(data[i]%2==0){
[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] 10 -         if(data[i]%2==0){
[INFO] [stdout] 10 +         if data[i]%2==0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp4_2 v0.1.0 (/opt/rustwide/workdir/tp4/2)
[INFO] [stderr]    Compiling tp2_14 v0.1.0 (/opt/rustwide/workdir/tp2/14)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if(venta.cliente.newsletter.is_some()){
[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] 129 -         if(venta.cliente.newsletter.is_some()){
[INFO] [stdout] 129 +         if venta.cliente.newsletter.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     if(producto.categoria == cat){
[INFO] [stdout]     |                       ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -                     if(producto.categoria == cat){
[INFO] [stdout] 147 +                     if producto.categoria == cat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 if(item.0 == venta.vendedor.legajo){
[INFO] [stdout]     |                   ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -                 if(item.0 == venta.vendedor.legajo){
[INFO] [stdout] 175 +                 if item.0 == venta.vendedor.legajo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (!encontrado) {
[INFO] [stdout]     |                ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (!encontrado) {
[INFO] [stdout] 181 +             if !encontrado {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |         if (self.anio != una_fecha.anio) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 203 +         if self.anio != una_fecha.anio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]     |                   ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 205 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:213:16
[INFO] [stdout]     |
[INFO] [stdout] 213 |             if (self.dia == 1) {
[INFO] [stdout]     |                ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 213 -             if (self.dia == 1) {
[INFO] [stdout] 213 +             if self.dia == 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 if (self.mes == 1) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -                 if (self.mes == 1) {
[INFO] [stdout] 214 +                 if self.mes == 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:229:16
[INFO] [stdout]     |
[INFO] [stdout] 229 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]     |                ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 229 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:232:20
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 if (self.mes > 12) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -                 if (self.mes > 12) {
[INFO] [stdout] 232 +                 if self.mes > 12 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:242:11
[INFO] [stdout]     |
[INFO] [stdout] 242 |         if(self.dia<1){
[INFO] [stdout]     |           ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 242 -         if(self.dia<1){
[INFO] [stdout] 242 +         if self.dia<1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]     |           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 245 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -             if(self.es_bisiesto()){
[INFO] [stdout] 265 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Persona` is never constructed
[INFO] [stdout]   --> tp4/2/src/main.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Persona<'a>{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]   --> tp4/2/src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'a> Persona<'a>{
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 43 |     fn a(personas: &'a [Persona<'a>], salario: f64) -> Vec<&'a Persona<'a>> {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn b(personas: &'a [Persona<'a>], edad: u8, nombre: &str) -> Vec<&'a Persona<'a>> {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn c(personas: &'a [Persona<'a>], nombre: &str) -> bool {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn d(personas: &'a [Persona<'a>], nombre: &str) -> bool {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn e(personas: &'a [Persona<'a>], persona: Persona) -> bool {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     fn f(personas: &'a [Persona<'a>]) -> Vec<u8> {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn g(personas: &'a Vec<Persona<'a>>) -> Option<[&'a Persona<'a>;2]> {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_1 v0.1.0 (/opt/rustwide/workdir/tp2/1)
[INFO] [stderr]    Compiling tp2_15 v0.1.0 (/opt/rustwide/workdir/tp2/15)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp4/4/src/main.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp4/4/src/main.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp4/4/src/main.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 259 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Venta {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     fn new(fecha: Fecha, cliente: Cliente, vendedor: Vendedor, medio_pago: MedioPago, productos: Vec<(Producto, u8)>) -> Venta {
[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 function `new` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Producto {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 33 |     fn new(nombre: String, categoria: Categoria, precio_base: f64) -> Producto {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Cliente {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 39 |     fn new(nombre: String, apellido: String, direccion: String, dni: String, newsletter: Option<String>) -> Cliente {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Vendedor {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 45 |     fn new(legajo: u32, antiguedad: u32, salario: f64) -> Vendedor {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Categoria` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:51:6
[INFO] [stdout]    |
[INFO] [stdout] 51 | enum Categoria {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct Producto {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct Cliente {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vendedor` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct Vendedor {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MedioPago` is never used
[INFO] [stdout]   --> tp4/4/src/main.rs:81:6
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum MedioPago {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Venta` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct Venta {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SistemaVentas` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct SistemaVentas {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `registrar_venta`, `calcular_precio_final`, `reportar_por_categoria`, and `reportar_por_vendedor` are never used
[INFO] [stdout]    --> tp4/4/src/main.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl SistemaVentas {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 103 |     fn new(descuentos_categorias: Vec<(Categoria, f64)>, descuento_newsletter: f64) -> SistemaVentas {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn registrar_venta(&mut self, venta: Venta) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     fn calcular_precio_final(&self, venta: &Venta) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn reportar_por_categoria(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn reportar_por_vendedor(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]    --> tp4/4/src/main.rs:192:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Fecha{
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp4/4/src/main.rs:198:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 198 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_12 v0.1.0 (/opt/rustwide/workdir/tp1/12)
[INFO] [stderr]    Compiling tp1_1 v0.1.0 (/opt/rustwide/workdir/tp1/1)
[INFO] [stderr]    Compiling tp1_6 v0.1.0 (/opt/rustwide/workdir/tp1/6)
[INFO] [stderr]    Compiling tp3_4 v0.1.0 (/opt/rustwide/workdir/tp3/4)
[INFO] [stderr]    Compiling tp2_8 v0.1.0 (/opt/rustwide/workdir/tp2/8)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp2/15/src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     for i in 0..tamano{
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_9 v0.1.0 (/opt/rustwide/workdir/tp2/9)
[INFO] [stderr]    Compiling tp1_9 v0.1.0 (/opt/rustwide/workdir/tp1/9)
[INFO] [stdout] warning: variable `newData` should have a snake case name
[INFO] [stdout]  --> tp2/8/src/main.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut newData = [0.0;N];
[INFO] [stdout]   |             ^^^^^^^ help: convert the identifier to snake case: `new_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `tipo` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum tipo{
[INFO] [stdout]    |      ^^^^ help: convert the identifier to upper camel case: `Tipo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `equilatero` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     equilatero,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Equilatero`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `esosceles` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     esosceles,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Esosceles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `escaleno` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     escaleno
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Escaleno`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/4/src/main.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |         } else if (a==b || b==c || c==a){
[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] 30 -         } else if (a==b || b==c || c==a){
[INFO] [stdout] 30 +         } else if a==b || b==c || c==a {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_11 v0.1.0 (/opt/rustwide/workdir/tp1/11)
[INFO] [stderr]    Compiling tp3_5 v0.1.0 (/opt/rustwide/workdir/tp3/5)
[INFO] [stderr]    Compiling tp3_3 v0.1.0 (/opt/rustwide/workdir/tp3/3)
[INFO] [stderr]    Compiling tp2_6 v0.1.0 (/opt/rustwide/workdir/tp2/6)
[INFO] [stdout] warning: fields `nombre` and `id` are never read
[INFO] [stdout]   --> tp3/5/src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Producto{
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 13 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 14 |     precio: f32,
[INFO] [stdout] 15 |     id: u32
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `calcular_impuestos` and `aplicar_descuento` are never used
[INFO] [stdout]   --> tp3/5/src/main.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Producto {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn calcular_impuestos(&self, percent: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn aplicar_descuento(&self, percent: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_7 v0.1.0 (/opt/rustwide/workdir/tp1/7)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |         if (self.anio != una_fecha.anio) {
[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] 22 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 22 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 24 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -             if (self.dia == 1) {
[INFO] [stdout] 32 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 33 -                 if (self.mes == 1) {
[INFO] [stdout] 33 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 48 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -                 if (self.mes > 12) {
[INFO] [stdout] 51 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         if(self.dia<1){
[INFO] [stdout] 61 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 64 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:84:15
[INFO] [stdout]    |
[INFO] [stdout] 84 |             if(self.es_bisiesto()){
[INFO] [stdout]    |               ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -             if(self.es_bisiesto()){
[INFO] [stdout] 84 +             if self.es_bisiesto() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling main_app v0.1.0 (/opt/rustwide/workdir/main_app)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/3/src/main.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/3/src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]   --> tp3/3/src/main.rs:75:29
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut result:u8 = 0;
[INFO] [stdout]    |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |             result = 31;
[INFO] [stdout]    |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_4 v0.1.0 (/opt/rustwide/workdir/tp2/4)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if (self.anio != una_fecha.anio) {
[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] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 48 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             if (self.dia == 1) {
[INFO] [stdout] 58 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 if (self.mes == 1) {
[INFO] [stdout] 59 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -                 if (self.mes > 12) {
[INFO] [stdout] 77 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -         if(self.dia<1){
[INFO] [stdout] 87 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(self.es_bisiesto()){
[INFO] [stdout] 110 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 177 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 if (self.copias[i].cantidad>0){
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 if (self.copias[i].cantidad>0){
[INFO] [stdout] 178 +                 if self.copias[i].cantidad>0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 198 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 198 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 209 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout]     |                ^
[INFO] [stdout] 210 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 209 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout] 210 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout] 218 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 245 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:248:20
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 248 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout] 248 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:259:16
[INFO] [stdout]     |
[INFO] [stdout] 259 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 259 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:260:20
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout]     |                    ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 260 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout] 260 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:271:16
[INFO] [stdout]     |
[INFO] [stdout] 271 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout]     |                ^
[INFO] [stdout] 272 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 271 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout] 272 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:281:16
[INFO] [stdout]     |
[INFO] [stdout] 281 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 284 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout] 282 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stdout] 283 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stdout] 284 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_8 v0.1.0 (/opt/rustwide/workdir/tp1/8)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> main_app/src/main.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> main_app/src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> main_app/src/main.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 104 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> main_app/src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Fecha{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> main_app/src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  43 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Libro{
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> main_app/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Genero{
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopiaRegistro` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct CopiaRegistro{
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Cliente{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct Prestamo{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EstadoPrestamo` is never used
[INFO] [stdout]    --> main_app/src/main.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 | enum EstadoPrestamo{
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Biblioteca{
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> main_app/src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Biblioteca{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(nombre: String, direccion: String) -> Biblioteca{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn obtener_cantidad_copias(&self, libro: &Libro) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn decrementar_copias(&mut self, libro: &Libro){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn agregar_copias(&mut self, libro: Libro, cantidad: u32){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn incrementar_copias(&mut self, libro: &Libro){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn contar_prestamos_cliente(&self, cliente: &Cliente) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn realizar_prestamo(&mut self, libro: Libro, cliente: Cliente, fecha_venc: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn buscar_prestamo(&self, libro: &Libro, cliente: &Cliente) -> Option<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn devolver_libro(&mut self, libro: &Libro, cliente: &Cliente, fecha_dev: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]  --> tp2/4/src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         if(i%2!=0){
[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] 9 -         if(i%2!=0){
[INFO] [stdout] 9 +         if i%2!=0 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_10 v0.1.0 (/opt/rustwide/workdir/tp1/10)
[INFO] [stderr]    Compiling tp2_11 v0.1.0 (/opt/rustwide/workdir/tp2/11)
[INFO] [stderr]    Compiling tp2_10 v0.1.0 (/opt/rustwide/workdir/tp2/10)
[INFO] [stderr]    Compiling tp2_3 v0.1.0 (/opt/rustwide/workdir/tp2/3)
[INFO] [stderr]    Compiling tp3_8 v0.1.0 (/opt/rustwide/workdir/tp3/8)
[INFO] [stderr]    Compiling tp1_5 v0.1.0 (/opt/rustwide/workdir/tp1/5)
[INFO] [stdout] warning: variant `rock` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     rock,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `pop` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pop,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rap` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     rap,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `jazz` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     jazz,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     otros,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |             if (self.canciones[i].titulo==titulo){
[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] 52 -             if (self.canciones[i].titulo==titulo){
[INFO] [stdout] 52 +             if self.canciones[i].titulo==titulo {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if(id==0){
[INFO] [stdout]    |           ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -         if(id==0){
[INFO] [stdout] 68 +         if id==0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if(pos as usize > self.canciones.len()){
[INFO] [stdout]    |           ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -         if(pos as usize > self.canciones.len()){
[INFO] [stdout] 73 +         if pos as usize > self.canciones.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |             if (self.canciones[i].titulo==titulo){
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -             if (self.canciones[i].titulo==titulo){
[INFO] [stdout] 82 +             if self.canciones[i].titulo==titulo {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if (self.canciones[i].genero==genero){
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if (self.canciones[i].genero==genero){
[INFO] [stdout] 92 +             if self.canciones[i].genero==genero {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/8/src/main.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |             if(self.canciones[i].artista==artista){
[INFO] [stdout]     |               ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -             if(self.canciones[i].artista==artista){
[INFO] [stdout] 104 +             if self.canciones[i].artista==artista {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stdout] warning: variants `rap`, `jazz`, and `otros` are never constructed
[INFO] [stdout]   --> tp3/8/src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Genero{
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     rap,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     jazz,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     otros,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Genero` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tp4_5 v0.1.0 (/opt/rustwide/workdir/tp4/5)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:225:16
[INFO] [stdout]     |
[INFO] [stdout] 225 |             if (c.0 == prefijo) {
[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] 225 -             if (c.0 == prefijo) {
[INFO] [stdout] 225 +             if c.0 == prefijo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 |         if (!encontrado) {
[INFO] [stdout]     |            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 231 -         if (!encontrado) {
[INFO] [stdout] 231 +         if !encontrado {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 |         if (cotizacion <= 0.0) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -         if (cotizacion <= 0.0) {
[INFO] [stdout] 264 +         if cotizacion <= 0.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout]     |            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout] 274 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:283:16
[INFO] [stdout]     |
[INFO] [stdout] 283 |             if (bal.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 283 -             if (bal.0 == prefijo_cripto) {
[INFO] [stdout] 283 +             if bal.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |         if (cotizacion <= 0.0) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 317 -         if (cotizacion <= 0.0) {
[INFO] [stdout] 317 +         if cotizacion <= 0.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:329:16
[INFO] [stdout]     |
[INFO] [stdout] 329 |             if (b.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -             if (b.0 == prefijo_cripto) {
[INFO] [stdout] 329 +             if b.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 |         if (bal.is_none()) {
[INFO] [stdout]     |            ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 334 -         if (bal.is_none()) {
[INFO] [stdout] 334 +         if bal.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 |         if (bal.1 < monto_cripto) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 338 -         if (bal.1 < monto_cripto) {
[INFO] [stdout] 338 +         if bal.1 < monto_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:384:16
[INFO] [stdout]     |
[INFO] [stdout] 384 |             if (b.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 384 -             if (b.0 == prefijo_cripto) {
[INFO] [stdout] 384 +             if b.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |         if (bal.is_none()) {
[INFO] [stdout]     |            ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 -         if (bal.is_none()) {
[INFO] [stdout] 389 +         if bal.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:393:12
[INFO] [stdout]     |
[INFO] [stdout] 393 |         if (bal.1 < monto_cripto) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 393 -         if (bal.1 < monto_cripto) {
[INFO] [stdout] 393 +         if bal.1 < monto_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:440:16
[INFO] [stdout]     |
[INFO] [stdout] 440 |             if (bal.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 440 -             if (bal.0 == prefijo_cripto) {
[INFO] [stdout] 440 +             if bal.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:471:12
[INFO] [stdout]     |
[INFO] [stdout] 471 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout]     |            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 471 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout] 471 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> tp4/5/src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Fecha {
[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 function `new` is never used
[INFO] [stdout]   --> tp4/5/src/main.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Fecha {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 54 |     fn new(dia: u8, mes: u8, anio: u32) -> Fecha {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blockchain` is never constructed
[INFO] [stdout]   --> tp4/5/src/main.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct Blockchain {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp4/5/src/main.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Blockchain {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 65 |     fn new(nombre: String, prefijo: String) -> Blockchain {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Criptomoneda` is never constructed
[INFO] [stdout]   --> tp4/5/src/main.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Criptomoneda {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `buscar_blockchain` are never used
[INFO] [stdout]   --> tp4/5/src/main.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl Criptomoneda {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 77 |     fn new(nombre: String, prefijo: String, blockchains: Vec<Blockchain>) -> Criptomoneda {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn buscar_blockchain(&self, prefijo: &str) -> Option<&Blockchain> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usuario` is never constructed
[INFO] [stdout]   --> tp4/5/src/main.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct Usuario {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> tp4/5/src/main.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Usuario {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 106 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MedioRetiro` is never used
[INFO] [stdout]    --> tp4/5/src/main.rs:126:6
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum MedioRetiro {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TipoTransaccion` is never used
[INFO] [stdout]    --> tp4/5/src/main.rs:131:6
[INFO] [stdout]     |
[INFO] [stdout] 131 | enum TipoTransaccion {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transaccion` is never constructed
[INFO] [stdout]    --> tp4/5/src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct Transaccion {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plataforma` is never constructed
[INFO] [stdout]    --> tp4/5/src/main.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | struct Plataforma {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp4/5/src/main.rs:178:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl Plataforma {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 178 |     fn new() -> Plataforma {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn buscar_usuario(&mut self, dni: &str) -> Option<&mut Usuario> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn buscar_cripto(&self, prefijo: &str) -> Option<&Criptomoneda> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn buscar_cotizacion(&self, prefijo: &str) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn registrar_usuario(&mut self, usuario: Usuario) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn registrar_cripto(&mut self, cripto: Criptomoneda) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     fn set_cotizacion(&mut self, prefijo: String, cotizacion: f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     fn ingresar_dinero(&mut self, dni: String, monto: f64, fecha: Fecha) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 252 |     fn comprar_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn vender_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     fn retirar_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn recibir_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     fn retirar_fiat(&mut self, dni: String, monto_fiat: f64, medio: MedioRetiro, fecha: Fecha) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tp5_1 v0.1.0 (/opt/rustwide/workdir/tp5/1)
[INFO] [stderr]    Compiling tp5_4 v0.1.0 (/opt/rustwide/workdir/tp5/4)
[INFO] [stderr]    Compiling tp5_2 v0.1.0 (/opt/rustwide/workdir/tp5/2)
[INFO] [stderr]    Compiling tp5_5 v0.1.0 (/opt/rustwide/workdir/tp5/5)
[INFO] [stderr]    Compiling tp5_6 v0.1.0 (/opt/rustwide/workdir/tp5/6)
[INFO] [stderr]    Compiling tp5_3 v0.1.0 (/opt/rustwide/workdir/tp5/3)
[INFO] [stdout] warning: variant `rock` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     rock,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `pop` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pop,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rap` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     rap,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `jazz` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     jazz,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     otros,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/2/src/main.rs:147:11
[INFO] [stdout]     |
[INFO] [stdout] 147 |         if(id.is_none()){
[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] 147 -         if(id.is_none()){
[INFO] [stdout] 147 +         if id.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rojo` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     rojo,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `verde` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     verde,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `azul` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     azul,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `amarillo` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     amarillo,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `blanco` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     blanco,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `negro` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     negro,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp5/6/src/main.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |             if (bc.prefijo == prefijo) { return Some(bc); }
[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] 60 -             if (bc.prefijo == prefijo) { return Some(bc); }
[INFO] [stdout] 60 +             if bc.prefijo == prefijo { return Some(bc); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     novela,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     infantil,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     tecnico,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     otros,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     devuelto,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     en_prestamo,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Tipo_Animal {
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `perro` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     perro,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `gato` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     gato,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `caballo` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     caballo,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     otros,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[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] 135 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout] 135 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 |         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stdout]     |            ^                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stdout] 188 +         if basic_count > classic_count && basic_count > super_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stdout]     |                   ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 190 -         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stdout] 190 +         } else if classic_count > basic_count && classic_count > super_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |         } else if (super_count > 0) {
[INFO] [stdout]     |                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -         } else if (super_count > 0) {
[INFO] [stdout] 192 +         } else if super_count > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     if (active && sub.cancelada) {
[INFO] [stdout]     |                        ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                     if (active && sub.cancelada) {
[INFO] [stdout] 208 +                     if active && sub.cancelada  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | ...if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 224 -         if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stdout] 224 +         if efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 226 -         } else if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stdout] 226 +         } else if mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 228 -         } else if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stdout] 228 +         } else if tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:230:19
[INFO] [stdout]     |
[INFO] [stdout] 230 | ...if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -         } else if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stdout] 230 +         } else if transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 |         } else if (cripto_count > 0) {
[INFO] [stdout]     |                   ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -         } else if (cripto_count > 0) {
[INFO] [stdout] 232 +         } else if cripto_count > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Auto` is never constructed
[INFO] [stdout]  --> tp5/1/src/main.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct Auto {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color` is never used
[INFO] [stdout]   --> tp5/1/src/main.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Color {
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `calcular_precio` are never used
[INFO] [stdout]   --> tp5/1/src/main.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Auto {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 27 |     fn new(marca: String, modelo: String, anio: u32, precio: f32, color: Color) -> Auto {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn calcular_precio(&self) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConcesionarioError` is never constructed
[INFO] [stdout]   --> tp5/1/src/main.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct ConcesionarioError(String);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConcesionarioAuto` is never constructed
[INFO] [stdout]   --> tp5/1/src/main.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct ConcesionarioAuto {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp5/1/src/main.rs:72:8
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl ConcesionarioAuto {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  72 |     fn new(nombre: String, direccion: String, capacidad: u32) -> ConcesionarioAuto {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn leer_autos_de_archivo(&self) -> Vec<Auto> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn guardar_autos_en_archivo(&self, autos: &Vec<Auto>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn recaudacion_por_color(&self) -> Vec<(Color, f32)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn agregar_auto(&mut self, auto: Auto) -> Result<(), ConcesionarioError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn eliminar_auto(&mut self, marca: &str, modelo: &str, anio: u32) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn buscar_auto(&self, marca: &str, modelo: &str, anio: u32) -> Option<&Auto> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cancion` is never constructed
[INFO] [stdout]   --> tp5/2/src/main.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Cancion {
[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 function `new` is never used
[INFO] [stdout]   --> tp5/2/src/main.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Cancion {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 24 |     fn new(titulo: String, artista: String, genero: Genero) -> Cancion {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]   --> tp5/2/src/main.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | enum Genero {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlaylistData` is never constructed
[INFO] [stdout]   --> tp5/2/src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct PlaylistData {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]   --> tp5/2/src/main.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Playlist {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp5/2/src/main.rs:55:8
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl Playlist {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  55 |     fn new(nombre: String) -> Playlist {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     fn leer_de_archivo(&self) -> PlaylistData {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn guardar_en_archivo(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn agregar_cancion(&mut self, c: Cancion) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn eliminar_cancion(&mut self, titulo: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn mover_cancion(&mut self, titulo: &str, pos: u32) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     fn buscar_cancion(&self) -> Option<&Cancion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn buscar_cancion_por_titulo(&self, titulo: &str) -> Option<Cancion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn buscar_cancion_ref(&self, titulo: &str) -> Option<&Cancion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn obtener_canciones_por_genero(&self, genero: Genero) -> Vec<Cancion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn obtener_canciones_por_artista(&self, artista: &str) -> Vec<Cancion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn modificar_titulo(&mut self, nuevo: String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn eliminar_todas(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TipoSuscripcion` is never used
[INFO] [stdout]  --> tp5/5/src/main.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum TipoSuscripcion {
[INFO] [stdout]   |      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suscripción` is never constructed
[INFO] [stdout]   --> tp5/5/src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Suscripción {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `upgrade` and `downgrade` are never used
[INFO] [stdout]   --> tp5/5/src/main.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Suscripción {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 23 |     fn upgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn downgrade(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MedioDePago` is never used
[INFO] [stdout]   --> tp5/5/src/main.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 52 | enum MedioDePago {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usuario` is never constructed
[INFO] [stdout]   --> tp5/5/src/main.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct Usuario {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `crear_usuario`, `leer_de_archivo`, `guardar_en_archivo`, `upgrade`, `downgrade`, and `cancelar` are never used
[INFO] [stdout]    --> tp5/5/src/main.rs:68:8
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl Usuario {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout]  68 |     fn crear_usuario(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     fn leer_de_archivo(&self) -> Option<UsuarioData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn guardar_en_archivo(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn upgrade(&mut self) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     fn downgrade(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn cancelar(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UsuarioData` is never constructed
[INFO] [stdout]    --> tp5/5/src/main.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | struct UsuarioData {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Platform` is never constructed
[INFO] [stdout]    --> tp5/5/src/main.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct Platform {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tipo_mas_utilizado` and `medio_pago_mas_utilizado` are never used
[INFO] [stdout]    --> tp5/5/src/main.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Platform {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 171 |     fn tipo_mas_utilizado(&self) -> Option<TipoSuscripcion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 198 |     fn medio_pago_mas_utilizado(&self, active: bool) -> Option<MedioDePago> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]  --> tp5/4/src/main.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct Fecha {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> tp5/4/src/main.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Fecha {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 16 |     fn new(dia: u8, mes: u8, anio: u32) -> Fecha {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn es_fecha_valida(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     fn max_dias(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]   --> tp5/4/src/main.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | struct Libro {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> tp5/4/src/main.rs:101:6
[INFO] [stdout]     |
[INFO] [stdout] 101 | enum Genero {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopiaRegistro` is never constructed
[INFO] [stdout]    --> tp5/4/src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct CopiaRegistro {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> tp5/4/src/main.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | struct Cliente {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> tp5/4/src/main.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 122 | struct Prestamo {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EstadoPrestamo` is never used
[INFO] [stdout]    --> tp5/4/src/main.rs:131:6
[INFO] [stdout]     |
[INFO] [stdout] 131 | enum EstadoPrestamo {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> tp5/4/src/main.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct Biblioteca {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp5/4/src/main.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Biblioteca {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 147 |     fn new(nombre: String, direccion: String) -> Biblioteca {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn leer_copias(&self) -> Vec<CopiaRegistro> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn guardar_copias(&self, copias: &Vec<CopiaRegistro>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn leer_prestamos(&self) -> Vec<Prestamo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn guardar_prestamos(&self, prestamos: &Vec<Prestamo>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn obtener_cantidad_copias(&self, libro: &Libro) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     fn decrementar_copias(&mut self, libro: &Libro) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     fn agregar_copias(&mut self, libro: Libro, cantidad: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     fn incrementar_copias(&mut self, libro: &Libro) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn contar_prestamos_cliente(&self, cliente: &Cliente) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn realizar_prestamo(&mut self, libro: Libro, cliente: Cliente, fecha_venc: Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn buscar_prestamo(&self, libro: &Libro, cliente: &Cliente) -> Option<&Prestamo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     fn devolver_libro(&mut self, libro: &Libro, cliente: &Cliente, fecha_dev: Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> tp5/3/src/main.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct Fecha {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> tp5/3/src/main.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Fecha {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 24 |     fn new(dia: u8, mes: u8, anio: u32) -> Fecha {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn es_fecha_valida(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn max_dias(&self) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Veterinaria` is never constructed
[INFO] [stdout]   --> tp5/3/src/main.rs:99:8
[INFO] [stdout]    |
[INFO] [stdout] 99 | struct Veterinaria {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dueno` is never constructed
[INFO] [stdout]    --> tp5/3/src/main.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct Dueno {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mascota` is never constructed
[INFO] [stdout]    --> tp5/3/src/main.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct Mascota {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Atencion` is never constructed
[INFO] [stdout]    --> tp5/3/src/main.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct Atencion {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Tipo_Animal` is never used
[INFO] [stdout]    --> tp5/3/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Tipo_Animal {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp5/3/src/main.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl Veterinaria {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 140 |     fn new(nombre: String, dir: String, id: u32) -> Veterinaria {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn leer_atenciones(&self) -> Vec<Atencion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn guardar_atenciones(&self, atenciones: &Vec<Atencion>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     fn agregar_mascota(&mut self, mascota: Mascota) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn agregar_mascota_prioritaria(&mut self, mascota: Mascota) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn atender_proximo(&mut self) -> Option<Mascota> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     fn eliminar_mascota(&mut self, nombre: &str, nombre_dueno: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn registrar_atencion(&mut self, atencion: Atencion) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn buscar_atencion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn modificar_diagnostico(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn modificar_proxima_visita(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn eliminar_atencion(&mut self, nombre_mascota: &str, nombre_dueno: &str, telefono: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> tp5/6/src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Fecha {
[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 function `new` is never used
[INFO] [stdout]   --> tp5/6/src/main.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Fecha {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 25 |     fn new(dia: u8, mes: u8, anio: u32) -> Fecha {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Blockchain` is never constructed
[INFO] [stdout]   --> tp5/6/src/main.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct Blockchain {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp5/6/src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Blockchain {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 37 |     fn new(nombre: String, prefijo: String) -> Blockchain {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Criptomoneda` is never constructed
[INFO] [stdout]   --> tp5/6/src/main.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | struct Criptomoneda {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `buscar_blockchain` are never used
[INFO] [stdout]   --> tp5/6/src/main.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Criptomoneda {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 50 |     fn new(nombre: String, prefijo: String, blockchains: Vec<Blockchain>) -> Criptomoneda {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn buscar_blockchain(&self, prefijo: &str) -> Option<&Blockchain> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Usuario` is never constructed
[INFO] [stdout]   --> tp5/6/src/main.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Usuario {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> tp5/6/src/main.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Usuario {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 78 |     fn new(
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MedioRetiro` is never used
[INFO] [stdout]   --> tp5/6/src/main.rs:98:6
[INFO] [stdout]    |
[INFO] [stdout] 98 | enum MedioRetiro {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TipoTransaccion` is never used
[INFO] [stdout]    --> tp5/6/src/main.rs:104:6
[INFO] [stdout]     |
[INFO] [stdout] 104 | enum TipoTransaccion {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transaccion` is never constructed
[INFO] [stdout]    --> tp5/6/src/main.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct Transaccion {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plataforma` is never constructed
[INFO] [stdout]    --> tp5/6/src/main.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct Plataforma {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> tp5/6/src/main.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl Plataforma {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 154 |     fn new(archivo_usuarios: String, archivo_transacciones: String) -> Plataforma {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn leer_usuarios(&self) -> Vec<Usuario> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn guardar_usuarios(&self, usuarios: &Vec<Usuario>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn leer_transacciones(&self) -> Vec<Transaccion> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     fn guardar_transacciones(&self, transacciones: &Vec<Transaccion>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 224 |     fn registrar_usuario(&mut self, usuario: Usuario) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     fn buscar_usuario(&mut self, dni: &str) -> Option<&mut Usuario> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn agregar_criptomoneda(&mut self, cripto: Criptomoneda) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn set_cotizacion(&mut self, prefijo: String, cotizacion: f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn obtener_cotizacion(&self, prefijo: &str) -> Option<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn ingresar_dinero(&mut self, dni: String, monto: f64, fecha: Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     fn comprar_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn vender_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn retirar_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     fn recibir_cripto(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 618 |     fn retirar_fiat(&mut self, dni: String, monto: f64, medio: MedioRetiro, fecha: Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.06s
[INFO] running `Command { std: "docker" "inspect" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling tp3_2 v0.1.0 (/opt/rustwide/workdir/tp3/2)
[INFO] [stderr]    Compiling tp3_6 v0.1.0 (/opt/rustwide/workdir/tp3/6)
[INFO] [stderr]    Compiling tp2_4 v0.1.0 (/opt/rustwide/workdir/tp2/4)
[INFO] [stderr]    Compiling tp3_10 v0.1.0 (/opt/rustwide/workdir/tp3/10)
[INFO] [stderr]    Compiling tp2_9 v0.1.0 (/opt/rustwide/workdir/tp2/9)
[INFO] [stderr]    Compiling tp1_1 v0.1.0 (/opt/rustwide/workdir/tp1/1)
[INFO] [stderr]    Compiling tp2_2 v0.1.0 (/opt/rustwide/workdir/tp2/2)
[INFO] [stderr]    Compiling tp1_6 v0.1.0 (/opt/rustwide/workdir/tp1/6)
[INFO] [stderr]    Compiling tp3_5 v0.1.0 (/opt/rustwide/workdir/tp3/5)
[INFO] [stderr]    Compiling tp2_14 v0.1.0 (/opt/rustwide/workdir/tp2/14)
[INFO] [stderr]    Compiling tp3_3 v0.1.0 (/opt/rustwide/workdir/tp3/3)
[INFO] [stderr]    Compiling tp3_7 v0.1.0 (/opt/rustwide/workdir/tp3/7)
[INFO] [stderr]    Compiling tp1_7 v0.1.0 (/opt/rustwide/workdir/tp1/7)
[INFO] [stderr]    Compiling tp4_3 v0.1.0 (/opt/rustwide/workdir/tp4/3)
[INFO] [stderr]    Compiling tp5_4 v0.1.0 (/opt/rustwide/workdir/tp5/4)
[INFO] [stderr]    Compiling tp5_6 v0.1.0 (/opt/rustwide/workdir/tp5/6)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if (self.anio != una_fecha.anio) {
[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] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 48 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             if (self.dia == 1) {
[INFO] [stdout] 58 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 if (self.mes == 1) {
[INFO] [stdout] 59 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -                 if (self.mes > 12) {
[INFO] [stdout] 77 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -         if(self.dia<1){
[INFO] [stdout] 87 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/10/src/main.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(self.es_bisiesto()){
[INFO] [stdout] 110 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> tp3/10/src/main.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:178:16
[INFO] [stdout]     |
[INFO] [stdout] 178 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 178 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:199:16
[INFO] [stdout]     |
[INFO] [stdout] 199 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout]     |                ^
[INFO] [stdout] 200 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout] 200 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 208 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout] 208 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 215 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 215 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:216:20
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 if (self.copias[i].cantidad>0){
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 216 -                 if (self.copias[i].cantidad>0){
[INFO] [stdout] 216 +                 if self.copias[i].cantidad>0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:244:16
[INFO] [stdout]     |
[INFO] [stdout] 244 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 244 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 244 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:247:20
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 247 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout] 247 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:258:16
[INFO] [stdout]     |
[INFO] [stdout] 258 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 258 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 258 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:259:20
[INFO] [stdout]     |
[INFO] [stdout] 259 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout]     |                    ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout] 259 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:270:16
[INFO] [stdout]     |
[INFO] [stdout] 270 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout]     |                ^
[INFO] [stdout] 271 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 270 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout] 271 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/10/src/main.rs:280:16
[INFO] [stdout]     |
[INFO] [stdout] 280 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 283 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 280 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout] 281 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stdout] 282 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stdout] 283 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |         if (self.examenes.is_empty()) {
[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] 38 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 38 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |         if (self.examenes.is_empty()) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 49 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 49 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:54:15
[INFO] [stdout]    |
[INFO] [stdout] 54 |             if(max<self.examenes[i].nota){
[INFO] [stdout]    |               ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 54 -             if(max<self.examenes[i].nota){
[INFO] [stdout] 54 +             if max<self.examenes[i].nota {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if (self.examenes.is_empty()) {
[INFO] [stdout]    |            ^                        ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         if (self.examenes.is_empty()) {
[INFO] [stdout] 62 +         if self.examenes.is_empty() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/6/src/main.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 |             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stdout]    |               ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stdout] 67 +             if min>self.examenes[i].nota||min<0.0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]  --> tp2/4/src/main.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 |         if(i%2!=0){
[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] 9 -         if(i%2!=0){
[INFO] [stdout] 9 +         if i%2!=0 {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/10/src/main.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/10/src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp3/10/src/main.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 104 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stdout]   --> tp3/10/src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Fecha{
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 38 |     dia: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     mes: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 40 |     anio: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stdout]    --> tp3/10/src/main.rs:47:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Fecha{
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `titulo`, `autor`, `num_paginas`, and `genero` are never read
[INFO] [stdout]    --> tp3/10/src/main.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Libro{
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] 126 |     isbn: String,
[INFO] [stdout] 127 |     titulo: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 128 |     autor: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 129 |     num_paginas: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 130 |     genero: Genero,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `novela`, `infantil`, and `otros` are never constructed
[INFO] [stdout]    --> tp3/10/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Genero{
[INFO] [stdout]     |      ------ variants in this enum
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |     ^^^^^^ ^^^^^^^^         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `email` is never read
[INFO] [stdout]    --> tp3/10/src/main.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Cliente{
[INFO] [stdout]     |        ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 142 |     email: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fecha_vencimiento` is never read
[INFO] [stdout]    --> tp3/10/src/main.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct Prestamo{
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fecha_vencimiento: Fecha,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `direccion` are never read
[INFO] [stdout]    --> tp3/10/src/main.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Biblioteca{
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 156 |     nombre: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 157 |     direccion: String,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `prestamos_a_vencer` and `prestamos_vencidos` are never used
[INFO] [stdout]    --> tp3/10/src/main.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Biblioteca{
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `materia` is never read
[INFO] [stdout]   --> tp3/6/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Examen {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] 16 |     materia: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp5/6/src/main.rs:60:16
[INFO] [stdout]    |
[INFO] [stdout] 60 |             if (bc.prefijo == prefijo) { return Some(bc); }
[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] 60 -             if (bc.prefijo == prefijo) { return Some(bc); }
[INFO] [stdout] 60 +             if bc.prefijo == prefijo { return Some(bc); }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rojo` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     rojo,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `verde` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     verde,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `azul` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     azul,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `amarillo` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     amarillo,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `blanco` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     blanco,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `negro` should have an upper camel case name
[INFO] [stdout]   --> tp3/7/src/main.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     negro,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[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] 58 -         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[INFO] [stdout] 58 +         if *c == Color::rojo || *c == Color::verde || *c == Color::azul {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |         if (self.marca == "BMW") {
[INFO] [stdout]    |            ^                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 63 -         if (self.marca == "BMW") {
[INFO] [stdout] 63 +         if self.marca == "BMW" {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |         if (self.anio < 2000) {
[INFO] [stdout]    |            ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 66 -         if (self.anio < 2000) {
[INFO] [stdout] 66 +         if self.anio < 2000 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/7/src/main.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 if (auto.color == i) {
[INFO] [stdout]    |                    ^               ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 -                 if (auto.color == i) {
[INFO] [stdout] 95 +                 if auto.color == i {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 |         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 -         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stdout] 105 +         if (self.autos.len() as u32) < self.capacidad {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:115:16
[INFO] [stdout]     |
[INFO] [stdout] 115 |             if (self.autos[i].marca == marca
[INFO] [stdout]     |                ^
[INFO] [stdout] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 117 |                 && self.autos[i].anio == anio)
[INFO] [stdout]     |                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 115 ~             if self.autos[i].marca == marca
[INFO] [stdout] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 117 ~                 && self.autos[i].anio == anio
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/7/src/main.rs:128:16
[INFO] [stdout]     |
[INFO] [stdout] 128 |             if (self.autos[i].marca == marca
[INFO] [stdout]     |                ^
[INFO] [stdout] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 130 |                 && self.autos[i].anio == anio)
[INFO] [stdout]     |                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 128 ~             if self.autos[i].marca == marca
[INFO] [stdout] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stdout] 130 ~                 && self.autos[i].anio == anio
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |         if (self.anio != una_fecha.anio) {
[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] 22 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 22 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 24 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:32:16
[INFO] [stdout]    |
[INFO] [stdout] 32 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 32 -             if (self.dia == 1) {
[INFO] [stdout] 32 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:33:20
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 33 -                 if (self.mes == 1) {
[INFO] [stdout] 33 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:48:16
[INFO] [stdout]    |
[INFO] [stdout] 48 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 48 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 48 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:51:20
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -                 if (self.mes > 12) {
[INFO] [stdout] 51 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 61 -         if(self.dia<1){
[INFO] [stdout] 61 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 64 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 64 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/3/src/main.rs:84:15
[INFO] [stdout]    |
[INFO] [stdout] 84 |             if(self.es_bisiesto()){
[INFO] [stdout]    |               ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -             if(self.es_bisiesto()){
[INFO] [stdout] 84 +             if self.es_bisiesto() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::str`
[INFO] [stdout]  --> tp4/3/src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::str;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |         if (self.suscripcion.is_none()) {
[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] 34 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 34 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |         if (self.suscripcion.is_none()) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 40 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 40 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout]    |            ^                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout] 44 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |         if (self.suscripcion.is_none()) {
[INFO] [stdout]    |            ^                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -         if (self.suscripcion.is_none()) {
[INFO] [stdout] 51 +         if self.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp4/3/src/main.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 94 |             if (usuario.suscripcion.is_none()) {
[INFO] [stdout]    |                ^                             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 94 -             if (usuario.suscripcion.is_none()) {
[INFO] [stdout] 94 +             if usuario.suscripcion.is_none()  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:118:16
[INFO] [stdout]     |
[INFO] [stdout] 118 |             if (usuario.medio_pago.is_none()) {
[INFO] [stdout]     |                ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -             if (usuario.medio_pago.is_none()) {
[INFO] [stdout] 118 +             if usuario.medio_pago.is_none()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |             if (usuario.suscripcion.is_none()) {
[INFO] [stdout]     |                ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 121 -             if (usuario.suscripcion.is_none()) {
[INFO] [stdout] 121 +             if usuario.suscripcion.is_none()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/3/src/main.rs:124:16
[INFO] [stdout]     |
[INFO] [stdout] 124 |             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stdout]     |                ^                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 124 -             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stdout] 124 +             if active && usuario.suscripcion.as_ref().unwrap().cancelada  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp4_5 v0.1.0 (/opt/rustwide/workdir/tp4/5)
[INFO] [stdout] warning: fields `nombre` and `direccion` are never read
[INFO] [stdout]   --> tp3/7/src/main.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct ConcesionarioAuto {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 74 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     direccion: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp5_1 v0.1.0 (/opt/rustwide/workdir/tp5/1)
[INFO] [stderr]    Compiling tp5_2 v0.1.0 (/opt/rustwide/workdir/tp5/2)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:225:16
[INFO] [stdout]     |
[INFO] [stdout] 225 |             if (c.0 == prefijo) {
[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] 225 -             if (c.0 == prefijo) {
[INFO] [stdout] 225 +             if c.0 == prefijo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 |         if (!encontrado) {
[INFO] [stdout]     |            ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 231 -         if (!encontrado) {
[INFO] [stdout] 231 +         if !encontrado {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 |         if (cotizacion <= 0.0) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 264 -         if (cotizacion <= 0.0) {
[INFO] [stdout] 264 +         if cotizacion <= 0.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout]     |            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 274 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout] 274 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:283:16
[INFO] [stdout]     |
[INFO] [stdout] 283 |             if (bal.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 283 -             if (bal.0 == prefijo_cripto) {
[INFO] [stdout] 283 +             if bal.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:317:12
[INFO] [stdout]     |
[INFO] [stdout] 317 |         if (cotizacion <= 0.0) {
[INFO] [stdout]     |            ^                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 317 -         if (cotizacion <= 0.0) {
[INFO] [stdout] 317 +         if cotizacion <= 0.0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:329:16
[INFO] [stdout]     |
[INFO] [stdout] 329 |             if (b.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -             if (b.0 == prefijo_cripto) {
[INFO] [stdout] 329 +             if b.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 |         if (bal.is_none()) {
[INFO] [stdout]     |            ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 334 -         if (bal.is_none()) {
[INFO] [stdout] 334 +         if bal.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 |         if (bal.1 < monto_cripto) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 338 -         if (bal.1 < monto_cripto) {
[INFO] [stdout] 338 +         if bal.1 < monto_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:384:16
[INFO] [stdout]     |
[INFO] [stdout] 384 |             if (b.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 384 -             if (b.0 == prefijo_cripto) {
[INFO] [stdout] 384 +             if b.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 |         if (bal.is_none()) {
[INFO] [stdout]     |            ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 389 -         if (bal.is_none()) {
[INFO] [stdout] 389 +         if bal.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:393:12
[INFO] [stdout]     |
[INFO] [stdout] 393 |         if (bal.1 < monto_cripto) {
[INFO] [stdout]     |            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 393 -         if (bal.1 < monto_cripto) {
[INFO] [stdout] 393 +         if bal.1 < monto_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:440:16
[INFO] [stdout]     |
[INFO] [stdout] 440 |             if (bal.0 == prefijo_cripto) {
[INFO] [stdout]     |                ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 440 -             if (bal.0 == prefijo_cripto) {
[INFO] [stdout] 440 +             if bal.0 == prefijo_cripto {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/5/src/main.rs:471:12
[INFO] [stdout]     |
[INFO] [stdout] 471 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout]     |            ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 471 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stdout] 471 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rojo` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     rojo,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `verde` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     verde,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `azul` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     azul,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `amarillo` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     amarillo,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `blanco` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     blanco,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `negro` should have an upper camel case name
[INFO] [stdout]   --> tp5/1/src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     negro,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/3/src/main.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp3/3/src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]   --> tp3/3/src/main.rs:75:29
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let mut result:u8 = 0;
[INFO] [stdout]    |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |             result = 31;
[INFO] [stdout]    |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     novela,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     infantil,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     tecnico,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     otros,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp5_3 v0.1.0 (/opt/rustwide/workdir/tp5/3)
[INFO] [stderr]    Compiling tp5_5 v0.1.0 (/opt/rustwide/workdir/tp5/5)
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     devuelto,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> tp5/4/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     en_prestamo,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp4_2 v0.1.0 (/opt/rustwide/workdir/tp4/2)
[INFO] [stderr]    Compiling tp3_9 v0.1.0 (/opt/rustwide/workdir/tp3/9)
[INFO] [stderr]    Compiling tp2_5 v0.1.0 (/opt/rustwide/workdir/tp2/5)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[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] 135 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stdout] 135 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 |         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stdout]     |            ^                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stdout] 188 +         if basic_count > classic_count && basic_count > super_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stdout]     |                   ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 190 -         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stdout] 190 +         } else if classic_count > basic_count && classic_count > super_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:192:19
[INFO] [stdout]     |
[INFO] [stdout] 192 |         } else if (super_count > 0) {
[INFO] [stdout]     |                   ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -         } else if (super_count > 0) {
[INFO] [stdout] 192 +         } else if super_count > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:208:24
[INFO] [stdout]     |
[INFO] [stdout] 208 |                     if (active && sub.cancelada) {
[INFO] [stdout]     |                        ^                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                     if (active && sub.cancelada) {
[INFO] [stdout] 208 +                     if active && sub.cancelada  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | ...if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 224 -         if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stdout] 224 +         if efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:226:19
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 226 -         } else if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stdout] 226 +         } else if mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:228:19
[INFO] [stdout]     |
[INFO] [stdout] 228 | ...if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 228 -         } else if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stdout] 228 +         } else if tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rock` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     rock,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `pop` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pop,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rap` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     rap,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `jazz` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     jazz,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp5/2/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     otros,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/2/src/main.rs:147:11
[INFO] [stdout]     |
[INFO] [stdout] 147 |         if(id.is_none()){
[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] 147 -         if(id.is_none()){
[INFO] [stdout] 147 +         if id.is_none() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:54:6
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Tipo_Animal {
[INFO] [stdout]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `perro` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `gato` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |           ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `caballo` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:16
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |                ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp3/9/src/main.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |                        ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:73:15
[INFO] [stdout]    |
[INFO] [stdout] 73 |             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[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] 73 -             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[INFO] [stdout] 73 +             if nombre==msc.nombre && msc.dueno.nombre==nombre_dueno {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stdout]    |               ^
[INFO] [stdout] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 87 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stdout]    |                                                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 85 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stdout] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 87 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/9/src/main.rs:95:15
[INFO] [stdout]    |
[INFO] [stdout] 95 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stdout]    |               ^
[INFO] [stdout] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 97 |                 && at.mascota.dueno.telefono == telefono) {
[INFO] [stdout]    |                                                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 95 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stdout] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 97 ~                 && at.mascota.dueno.telefono == telefono  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stdout]     |               ^
[INFO] [stdout] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 107 |                 && at.mascota.dueno.telefono == telefono){
[INFO] [stdout]     |                                                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 105 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stdout] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stdout] 107 ~                 && at.mascota.dueno.telefono == telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:230:19
[INFO] [stdout]     |
[INFO] [stdout] 230 | ...if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stdout]     |       ^                                                                                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 230 -         } else if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stdout] 230 +         } else if transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp5/5/src/main.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 232 |         } else if (cripto_count > 0) {
[INFO] [stdout]     |                   ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -         } else if (cripto_count > 0) {
[INFO] [stdout] 232 +         } else if cripto_count > 0  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stdout]     |               ^
[INFO] [stdout] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 118 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stdout]     |                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 116 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stdout] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stdout] 118 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if (self.anio != una_fecha.anio) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 131 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 131 +         if self.anio != una_fecha.anio  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]     |                   ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 133 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 133 +         } else if self.mes != una_fecha.mes  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:141:16
[INFO] [stdout]     |
[INFO] [stdout] 141 |             if (self.dia == 1) {
[INFO] [stdout]     |                ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 141 -             if (self.dia == 1) {
[INFO] [stdout] 141 +             if self.dia == 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:142:20
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 if (self.mes == 1) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 142 -                 if (self.mes == 1) {
[INFO] [stdout] 142 +                 if self.mes == 1  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:157:16
[INFO] [stdout]     |
[INFO] [stdout] 157 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]     |                ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 157 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 157 +             if self.dia > Fecha::max_dias(self)  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:160:20
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 if (self.mes > 12) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 160 -                 if (self.mes > 12) {
[INFO] [stdout] 160 +                 if self.mes > 12  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:170:11
[INFO] [stdout]     |
[INFO] [stdout] 170 |         if(self.dia<1){
[INFO] [stdout]     |           ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 170 -         if(self.dia<1){
[INFO] [stdout] 170 +         if self.dia<1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:173:11
[INFO] [stdout]     |
[INFO] [stdout] 173 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]     |           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 173 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/9/src/main.rs:193:15
[INFO] [stdout]     |
[INFO] [stdout] 193 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 193 -             if(self.es_bisiesto()){
[INFO] [stdout] 193 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp3/9/src/main.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp3/9/src/main.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp3/9/src/main.rs:184:29
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 187 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stdout]   --> tp3/9/src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct Fecha{
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 26 |     dia: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 27 |     mes: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     anio: u32
[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`, `dir`, and `id` are never read
[INFO] [stdout]   --> tp3/9/src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct Veterinaria{
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 31 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 32 |     dir: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 33 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `dir` is never read
[INFO] [stdout]   --> tp3/9/src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Dueno{
[INFO] [stdout]    |        ----- field in this struct
[INFO] [stdout] 38 |     nombre: String,
[INFO] [stdout] 39 |     dir: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `edad` and `tipo` are never read
[INFO] [stdout]   --> tp3/9/src/main.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct Mascota{
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 43 |     nombre: String,
[INFO] [stdout] 44 |     edad: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 45 |     tipo: Tipo_Animal,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tratamiento` is never read
[INFO] [stdout]   --> tp3/9/src/main.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Atencion {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 51 |     tratamiento: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` is never constructed
[INFO] [stdout]   --> tp3/9/src/main.rs:55:24
[INFO] [stdout]    |
[INFO] [stdout] 54 | enum Tipo_Animal {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] 55 |     perro,gato,caballo,otros
[INFO] [stdout]    |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stdout]    --> tp3/9/src/main.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Fecha{
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `platform`
[INFO] [stdout]    --> tp4/3/src/main.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |     let platform = Platform {
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_12 v0.1.0 (/opt/rustwide/workdir/tp2/12)
[INFO] [stdout] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Tipo_Animal {
[INFO] [stdout]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_11 v0.1.0 (/opt/rustwide/workdir/tp1/11)
[INFO] [stdout] warning: variant `perro` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     perro,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `gato` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     gato,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `caballo` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     caballo,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> tp5/3/src/main.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     otros,
[INFO] [stdout]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tp5/4/src/main.rs:493:13
[INFO] [stdout]     |
[INFO] [stdout] 493 |         let mut f1 = Fecha::new(28, 2, 2024); // Año bisiesto
[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]    --> tp5/4/src/main.rs:497:13
[INFO] [stdout]     |
[INFO] [stdout] 497 |         let mut f2 = Fecha::new(28, 2, 2023); // No bisiesto
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `direccion` are never read
[INFO] [stdout]    --> tp5/4/src/main.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 136 | struct Biblioteca {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 137 |     nombre: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 138 |     direccion: String,
[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 `dia`, `mes`, and `anio` are never read
[INFO] [stdout]   --> tp4/5/src/main.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct Fecha {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 49 |     dia: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 50 |     mes: u8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 51 |     anio: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> tp4/5/src/main.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct Criptomoneda {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] 72 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Criptomoneda` 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`, `apellido`, and `email` are never read
[INFO] [stdout]   --> tp4/5/src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | struct Usuario {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 97 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 98 |     apellido: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 99 |     email: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Usuario` 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 `TransferenciaBancaria` is never constructed
[INFO] [stdout]    --> tp4/5/src/main.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum MedioRetiro {
[INFO] [stdout]     |      ----------- variant in this enum
[INFO] [stdout] 127 |     MercadoPago,
[INFO] [stdout] 128 |     TransferenciaBancaria,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MedioRetiro` 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 `monto` is never read
[INFO] [stdout]    --> tp4/5/src/main.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |     IngresoFiat {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] 133 |         monto: f64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     CompraCripto {
[INFO] [stdout]     |     ------------ fields in this variant
[INFO] [stdout] 136 |         cripto: Criptomoneda,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 137 |         monto_cripto: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 138 |         cotizacion: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |     VentaCripto {
[INFO] [stdout]     |     ----------- fields in this variant
[INFO] [stdout] 141 |         cripto: Criptomoneda,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 142 |         monto_cripto: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 143 |         cotizacion: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `blockchain`, `hash`, `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |     RetiroCripto {
[INFO] [stdout]     |     ------------ fields in this variant
[INFO] [stdout] 146 |         blockchain: Blockchain,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 147 |         hash: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 148 |         cripto: Criptomoneda,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 149 |         monto_cripto: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 150 |         cotizacion: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `blockchain`, `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |     RecepcionCripto {
[INFO] [stdout]     |     --------------- fields in this variant
[INFO] [stdout] 153 |         blockchain: Blockchain,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 154 |         cripto: Criptomoneda,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 155 |         monto_cripto: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 156 |         cotizacion: f64,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `monto` and `medio` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |     RetiroFiat {
[INFO] [stdout]     |     ---------- fields in this variant
[INFO] [stdout] 159 |         monto: f64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 160 |         medio: MedioRetiro,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fecha`, `usuario`, and `tipo` are never read
[INFO] [stdout]    --> tp4/5/src/main.rs:165:5
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct Transaccion {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 165 |     fecha: Fecha,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 166 |     usuario: Usuario,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 167 |     tipo: TipoTransaccion,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_5 v0.1.0 (/opt/rustwide/workdir/tp1/5)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp2/12/src/main.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 |         if(data[i]%2==0){
[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] 10 -         if(data[i]%2==0){
[INFO] [stdout] 10 +         if data[i]%2==0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_10 v0.1.0 (/opt/rustwide/workdir/tp1/10)
[INFO] [stderr]    Compiling tp1_9 v0.1.0 (/opt/rustwide/workdir/tp1/9)
[INFO] [stdout] warning: fields `nombre` and `direccion` are never read
[INFO] [stdout]   --> tp5/1/src/main.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | struct ConcesionarioAuto {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 64 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 65 |     direccion: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp3_8 v0.1.0 (/opt/rustwide/workdir/tp3/8)
[INFO] [stderr]    Compiling tp1_4 v0.1.0 (/opt/rustwide/workdir/tp1/4)
[INFO] [stderr]    Compiling tp1_2 v0.1.0 (/opt/rustwide/workdir/tp1/2)
[INFO] [stderr]    Compiling tp2_6 v0.1.0 (/opt/rustwide/workdir/tp2/6)
[INFO] [stderr]    Compiling tp2_3 v0.1.0 (/opt/rustwide/workdir/tp2/3)
[INFO] [stdout] warning: variant `rock` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     rock,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `pop` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pop,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `rap` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     rap,
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `jazz` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     jazz,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]   --> tp3/8/src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     otros,
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:52:16
[INFO] [stdout]    |
[INFO] [stdout] 52 |             if (self.canciones[i].titulo==titulo){
[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] 52 -             if (self.canciones[i].titulo==titulo){
[INFO] [stdout] 52 +             if self.canciones[i].titulo==titulo {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 |         if(id==0){
[INFO] [stdout]    |           ^     ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 68 -         if(id==0){
[INFO] [stdout] 68 +         if id==0 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |         if(pos as usize > self.canciones.len()){
[INFO] [stdout]    |           ^                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 73 -         if(pos as usize > self.canciones.len()){
[INFO] [stdout] 73 +         if pos as usize > self.canciones.len() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |             if (self.canciones[i].titulo==titulo){
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 82 -             if (self.canciones[i].titulo==titulo){
[INFO] [stdout] 82 +             if self.canciones[i].titulo==titulo {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/8/src/main.rs:92:16
[INFO] [stdout]    |
[INFO] [stdout] 92 |             if (self.canciones[i].genero==genero){
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 92 -             if (self.canciones[i].genero==genero){
[INFO] [stdout] 92 +             if self.canciones[i].genero==genero {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp3/8/src/main.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |             if(self.canciones[i].artista==artista){
[INFO] [stdout]     |               ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 104 -             if(self.canciones[i].artista==artista){
[INFO] [stdout] 104 +             if self.canciones[i].artista==artista {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_7 v0.1.0 (/opt/rustwide/workdir/tp2/7)
[INFO] [stdout] warning: method `buscar_usuario` is never used
[INFO] [stdout]    --> tp5/6/src/main.rs:237:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl Plataforma {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 237 |     fn buscar_usuario(&mut self, dni: &str) -> Option<&mut Usuario> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `rap`, `jazz`, and `otros` are never constructed
[INFO] [stdout]   --> tp3/8/src/main.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum Genero{
[INFO] [stdout]    |      ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 30 |     rap,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     jazz,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     otros,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Genero` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp3_4 v0.1.0 (/opt/rustwide/workdir/tp3/4)
[INFO] [stderr]    Compiling tp4_1 v0.1.0 (/opt/rustwide/workdir/tp4/1)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tp5/3/src/main.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 400 |     let mut f1 = Fecha::new(28, 2, 2024); // Año bisiesto
[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]    --> tp5/3/src/main.rs:404:9
[INFO] [stdout]     |
[INFO] [stdout] 404 |     let mut f2 = Fecha::new(28, 2, 2023); // No bisiesto
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `dir`, and `id` are never read
[INFO] [stdout]    --> tp5/3/src/main.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct Veterinaria {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] 100 |     nombre: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 101 |     dir: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 102 |     id: u32,
[INFO] [stdout]     |     ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp3_1 v0.1.0 (/opt/rustwide/workdir/tp3/1)
[INFO] [stderr]    Compiling tp1_12 v0.1.0 (/opt/rustwide/workdir/tp1/12)
[INFO] [stderr]    Compiling tp2_8 v0.1.0 (/opt/rustwide/workdir/tp2/8)
[INFO] [stdout] warning: type `tipo` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:15:6
[INFO] [stdout]    |
[INFO] [stdout] 15 | enum tipo{
[INFO] [stdout]    |      ^^^^ help: convert the identifier to upper camel case: `Tipo`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `equilatero` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     equilatero,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Equilatero`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `esosceles` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     esosceles,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Esosceles`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `escaleno` should have an upper camel case name
[INFO] [stdout]   --> tp3/4/src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     escaleno
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Escaleno`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> tp3/4/src/main.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |         } else if (a==b || b==c || c==a){
[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] 30 -         } else if (a==b || b==c || c==a){
[INFO] [stdout] 30 +         } else if a==b || b==c || c==a {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp4_4 v0.1.0 (/opt/rustwide/workdir/tp4/4)
[INFO] [stderr]    Compiling tp2_10 v0.1.0 (/opt/rustwide/workdir/tp2/10)
[INFO] [stderr]    Compiling tp2_11 v0.1.0 (/opt/rustwide/workdir/tp2/11)
[INFO] [stderr]    Compiling tp2_15 v0.1.0 (/opt/rustwide/workdir/tp2/15)
[INFO] [stderr]    Compiling tp2_13 v0.1.0 (/opt/rustwide/workdir/tp2/13)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if(venta.cliente.newsletter.is_some()){
[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] 129 -         if(venta.cliente.newsletter.is_some()){
[INFO] [stdout] 129 +         if venta.cliente.newsletter.is_some() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp2_1 v0.1.0 (/opt/rustwide/workdir/tp2/1)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:147:23
[INFO] [stdout]     |
[INFO] [stdout] 147 |                     if(producto.categoria == cat){
[INFO] [stdout]     |                       ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 147 -                     if(producto.categoria == cat){
[INFO] [stdout] 147 +                     if producto.categoria == cat {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |                 if(item.0 == venta.vendedor.legajo){
[INFO] [stdout]     |                   ^                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 175 -                 if(item.0 == venta.vendedor.legajo){
[INFO] [stdout] 175 +                 if item.0 == venta.vendedor.legajo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:181:16
[INFO] [stdout]     |
[INFO] [stdout] 181 |             if (!encontrado) {
[INFO] [stdout]     |                ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -             if (!encontrado) {
[INFO] [stdout] 181 +             if !encontrado {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |         if (self.anio != una_fecha.anio) {
[INFO] [stdout]     |            ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 203 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 203 +         if self.anio != una_fecha.anio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:205:19
[INFO] [stdout]     |
[INFO] [stdout] 205 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]     |                   ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 205 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:213:16
[INFO] [stdout]     |
[INFO] [stdout] 213 |             if (self.dia == 1) {
[INFO] [stdout]     |                ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 213 -             if (self.dia == 1) {
[INFO] [stdout] 213 +             if self.dia == 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:214:20
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 if (self.mes == 1) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -                 if (self.mes == 1) {
[INFO] [stdout] 214 +                 if self.mes == 1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:229:16
[INFO] [stdout]     |
[INFO] [stdout] 229 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]     |                ^                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 229 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:232:20
[INFO] [stdout]     |
[INFO] [stdout] 232 |                 if (self.mes > 12) {
[INFO] [stdout]     |                    ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 232 -                 if (self.mes > 12) {
[INFO] [stdout] 232 +                 if self.mes > 12 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:242:11
[INFO] [stdout]     |
[INFO] [stdout] 242 |         if(self.dia<1){
[INFO] [stdout]     |           ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 242 -         if(self.dia<1){
[INFO] [stdout] 242 +         if self.dia<1 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]     |           ^                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 245 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> tp4/4/src/main.rs:265:15
[INFO] [stdout]     |
[INFO] [stdout] 265 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 265 -             if(self.es_bisiesto()){
[INFO] [stdout] 265 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `newData` should have a snake case name
[INFO] [stdout]  --> tp2/8/src/main.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut newData = [0.0;N];
[INFO] [stdout]   |             ^^^^^^^ help: convert the identifier to snake case: `new_data`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp4/4/src/main.rs:212:13
[INFO] [stdout]     |
[INFO] [stdout] 212 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tp4/4/src/main.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for i in 0..dias {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> tp4/4/src/main.rs:256:29
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 259 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> tp4/4/src/main.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | struct Producto {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 60 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Producto` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `apellido`, `direccion`, and `dni` are never read
[INFO] [stdout]   --> tp4/4/src/main.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct Cliente {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 67 |     nombre: String,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 68 |     apellido: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 69 |     direccion: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 70 |     dni: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Cliente` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `antiguedad` and `salario` are never read
[INFO] [stdout]   --> tp4/4/src/main.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct Vendedor {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 76 |     legajo: u32,
[INFO] [stdout] 77 |     antiguedad: u32,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 78 |     salario: f64
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Vendedor` 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 `TarjetaDebito` is never constructed
[INFO] [stdout]   --> tp4/4/src/main.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | enum MedioPago {
[INFO] [stdout]    |      --------- variant in this enum
[INFO] [stdout] 82 |     TarjetaCredito,
[INFO] [stdout] 83 |     TarjetaDebito,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `fecha` and `medio_pago` are never read
[INFO] [stdout]   --> tp4/4/src/main.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct Venta {
[INFO] [stdout]    |        ----- fields in this struct
[INFO] [stdout] 89 |     fecha: Fecha,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     medio_pago: MedioPago,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stdout]    --> tp4/4/src/main.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | struct Fecha{
[INFO] [stdout]     |        ----- fields in this struct
[INFO] [stdout] 193 |     dia: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 194 |     mes: u8,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 195 |     anio: u32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stdout]    --> tp4/4/src/main.rs:202:8
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl Fecha{
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_8 v0.1.0 (/opt/rustwide/workdir/tp1/8)
[INFO] [stderr]    Compiling main_app v0.1.0 (/opt/rustwide/workdir/main_app)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |         if (self.anio != una_fecha.anio) {
[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] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stdout] 48 +         if self.anio != una_fecha.anio {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:50:19
[INFO] [stdout]    |
[INFO] [stdout] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout]    |                   ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stdout] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:58:16
[INFO] [stdout]    |
[INFO] [stdout] 58 |             if (self.dia == 1) {
[INFO] [stdout]    |                ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 -             if (self.dia == 1) {
[INFO] [stdout] 58 +             if self.dia == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 if (self.mes == 1) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -                 if (self.mes == 1) {
[INFO] [stdout] 59 +                 if self.mes == 1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:74:16
[INFO] [stdout]    |
[INFO] [stdout] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout]    |                ^                                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stdout] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:77:20
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 if (self.mes > 12) {
[INFO] [stdout]    |                    ^             ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 77 -                 if (self.mes > 12) {
[INFO] [stdout] 77 +                 if self.mes > 12 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 |         if(self.dia<1){
[INFO] [stdout]    |           ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 87 -         if(self.dia<1){
[INFO] [stdout] 87 +         if self.dia<1 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> main_app/src/main.rs:90:11
[INFO] [stdout]    |
[INFO] [stdout] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout]    |           ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stdout] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |             if(self.es_bisiesto()){
[INFO] [stdout]     |               ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -             if(self.es_bisiesto()){
[INFO] [stdout] 110 +             if self.es_bisiesto() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `novela` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `infantil` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tecnico` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `otros` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:133:29
[INFO] [stdout]     |
[INFO] [stdout] 133 |     novela,infantil,tecnico,otros
[INFO] [stdout]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `devuelto` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stdout]    --> main_app/src/main.rs:153:14
[INFO] [stdout]     |
[INFO] [stdout] 153 |     devuelto,en_prestamo
[INFO] [stdout]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:169:16
[INFO] [stdout]     |
[INFO] [stdout] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 177 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:178:20
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 if (self.copias[i].cantidad>0){
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 178 -                 if (self.copias[i].cantidad>0){
[INFO] [stdout] 178 +                 if self.copias[i].cantidad>0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:188:16
[INFO] [stdout]     |
[INFO] [stdout] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tp1_3 v0.1.0 (/opt/rustwide/workdir/tp1/3)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout]     |                ^                                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 198 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stdout] 198 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:209:16
[INFO] [stdout]     |
[INFO] [stdout] 209 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout]     |                ^
[INFO] [stdout] 210 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 209 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stdout] 210 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout]     |            ^                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stdout] 218 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:245:16
[INFO] [stdout]     |
[INFO] [stdout] 245 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 245 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 245 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:248:20
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout]     |                    ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 248 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stdout] 248 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:259:16
[INFO] [stdout]     |
[INFO] [stdout] 259 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                ^                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout] 259 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:260:20
[INFO] [stdout]     |
[INFO] [stdout] 260 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout]     |                    ^                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 260 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stdout] 260 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:271:16
[INFO] [stdout]     |
[INFO] [stdout] 271 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout]     |                ^
[INFO] [stdout] 272 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stdout]     |                                                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 271 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stdout] 272 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> main_app/src/main.rs:281:16
[INFO] [stdout]     |
[INFO] [stdout] 281 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout]     |                ^
[INFO] [stdout] ...
[INFO] [stdout] 284 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stdout]     |                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 281 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stdout] 282 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stdout] 283 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stdout] 284 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> main_app/src/main.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> main_app/src/main.rs:72:13
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..dias {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> main_app/src/main.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let mut result:u8 = 0;
[INFO] [stdout]     |                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 104 |             result = 31;
[INFO] [stdout]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]   --> main_app/src/main.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | struct Fecha{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> main_app/src/main.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  43 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn max_dias(&self) -> u8{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct Libro{
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> main_app/src/main.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Genero{
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopiaRegistro` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | struct CopiaRegistro{
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct Cliente{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct Prestamo{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EstadoPrestamo` is never used
[INFO] [stdout]    --> main_app/src/main.rs:152:6
[INFO] [stdout]     |
[INFO] [stdout] 152 | enum EstadoPrestamo{
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> main_app/src/main.rs:155:8
[INFO] [stdout]     |
[INFO] [stdout] 155 | struct Biblioteca{
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> main_app/src/main.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Biblioteca{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(nombre: String, direccion: String) -> Biblioteca{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn obtener_cantidad_copias(&self, libro: &Libro) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn decrementar_copias(&mut self, libro: &Libro){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     fn agregar_copias(&mut self, libro: Libro, cantidad: u32){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn incrementar_copias(&mut self, libro: &Libro){
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn contar_prestamos_cliente(&self, cliente: &Cliente) -> u32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     fn realizar_prestamo(&mut self, libro: Libro, cliente: Cliente, fecha_venc: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     fn buscar_prestamo(&self, libro: &Libro, cliente: &Cliente) -> Option<&Prestamo>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn devolver_libro(&mut self, libro: &Libro, cliente: &Cliente, fecha_dev: Fecha) -> bool{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> tp2/15/src/main.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     for i in 0..tamano{
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.25s
[INFO] running `Command { std: "docker" "inspect" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b54c6652457bfb5e1577e76263f139bfb266222ff371f4f205e0a582ac5ce3e9" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2024 which implies `resolver = "3"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2024 resolver, specify `workspace.resolver = "3"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 |         if (self.anio != una_fecha.anio) {
[INFO] [stderr]    |            ^                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 22 -         if (self.anio != una_fecha.anio) {
[INFO] [stderr] 22 +         if self.anio != una_fecha.anio {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:24:19
[INFO] [stderr]    |
[INFO] [stderr] 24 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr]    |                   ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr] 24 +         } else if self.mes != una_fecha.mes {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:32:16
[INFO] [stderr]    |
[INFO] [stderr] 32 |             if (self.dia == 1) {
[INFO] [stderr]    |                ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 32 -             if (self.dia == 1) {
[INFO] [stderr] 32 +             if self.dia == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:33:20
[INFO] [stderr]    |
[INFO] [stderr] 33 |                 if (self.mes == 1) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 33 -                 if (self.mes == 1) {
[INFO] [stderr] 33 +                 if self.mes == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:48:16
[INFO] [stderr]    |
[INFO] [stderr] 48 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 48 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr] 48 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:51:20
[INFO] [stderr]    |
[INFO] [stderr] 51 |                 if (self.mes > 12) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 -                 if (self.mes > 12) {
[INFO] [stderr] 51 +                 if self.mes > 12 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 |         if(self.dia<1){
[INFO] [stderr]    |           ^          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 61 -         if(self.dia<1){
[INFO] [stderr] 61 +         if self.dia<1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr]    |           ^                              ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 64 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr] 64 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/3/src/main.rs:84:15
[INFO] [stderr]    |
[INFO] [stderr] 84 |             if(self.es_bisiesto()){
[INFO] [stderr]    |               ^                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 84 -             if(self.es_bisiesto()){
[INFO] [stderr] 84 +             if self.es_bisiesto() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> tp3/3/src/main.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> tp3/3/src/main.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]   --> tp3/3/src/main.rs:75:29
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let mut result:u8 = 0;
[INFO] [stderr]    |                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 78 |             result = 31;
[INFO] [stderr]    |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 |         if (self.anio != una_fecha.anio) {
[INFO] [stderr]    |            ^                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stderr] 48 +         if self.anio != una_fecha.anio {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:50:19
[INFO] [stderr]    |
[INFO] [stderr] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr]    |                   ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 58 |             if (self.dia == 1) {
[INFO] [stderr]    |                ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -             if (self.dia == 1) {
[INFO] [stderr] 58 +             if self.dia == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:59:20
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 if (self.mes == 1) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 59 -                 if (self.mes == 1) {
[INFO] [stderr] 59 +                 if self.mes == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:74:16
[INFO] [stderr]    |
[INFO] [stderr] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:77:20
[INFO] [stderr]    |
[INFO] [stderr] 77 |                 if (self.mes > 12) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 77 -                 if (self.mes > 12) {
[INFO] [stderr] 77 +                 if self.mes > 12 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:87:11
[INFO] [stderr]    |
[INFO] [stderr] 87 |         if(self.dia<1){
[INFO] [stderr]    |           ^          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 87 -         if(self.dia<1){
[INFO] [stderr] 87 +         if self.dia<1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> main_app/src/main.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr]    |           ^                              ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:110:15
[INFO] [stderr]     |
[INFO] [stderr] 110 |             if(self.es_bisiesto()){
[INFO] [stderr]     |               ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 110 -             if(self.es_bisiesto()){
[INFO] [stderr] 110 +             if self.es_bisiesto() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `novela` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `infantil` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:133:12
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `tecnico` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:133:29
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `devuelto` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     devuelto,en_prestamo
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stderr]    --> main_app/src/main.rs:153:14
[INFO] [stderr]     |
[INFO] [stderr] 153 |     devuelto,en_prestamo
[INFO] [stderr]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:169:16
[INFO] [stderr]     |
[INFO] [stderr] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:177:16
[INFO] [stderr]     |
[INFO] [stderr] 177 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 177 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 177 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:178:20
[INFO] [stderr]     |
[INFO] [stderr] 178 |                 if (self.copias[i].cantidad>0){
[INFO] [stderr]     |                    ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 178 -                 if (self.copias[i].cantidad>0){
[INFO] [stderr] 178 +                 if self.copias[i].cantidad>0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:188:16
[INFO] [stderr]     |
[INFO] [stderr] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:198:16
[INFO] [stderr]     |
[INFO] [stderr] 198 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 198 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 198 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:209:16
[INFO] [stderr]     |
[INFO] [stderr] 209 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stderr]     |                ^
[INFO] [stderr] 210 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 209 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stderr] 210 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:218:12
[INFO] [stderr]     |
[INFO] [stderr] 218 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stderr]     |            ^                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 218 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stderr] 218 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:245:16
[INFO] [stderr]     |
[INFO] [stderr] 245 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                ^                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 245 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr] 245 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:248:20
[INFO] [stderr]     |
[INFO] [stderr] 248 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stderr]     |                    ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 248 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stderr] 248 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:259:16
[INFO] [stderr]     |
[INFO] [stderr] 259 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                ^                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 259 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr] 259 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:260:20
[INFO] [stderr]     |
[INFO] [stderr] 260 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stderr]     |                    ^                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 260 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stderr] 260 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:271:16
[INFO] [stderr]     |
[INFO] [stderr] 271 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stderr]     |                ^
[INFO] [stderr] 272 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stderr]     |                                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 271 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stderr] 272 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> main_app/src/main.rs:281:16
[INFO] [stderr]     |
[INFO] [stderr] 281 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stderr]     |                ^
[INFO] [stderr] ...
[INFO] [stderr] 284 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                                                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 281 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stderr] 282 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stderr] 283 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stderr] 284 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> main_app/src/main.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> main_app/src/main.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> main_app/src/main.rs:101:29
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let mut result:u8 = 0;
[INFO] [stderr]     |                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 104 |             result = 31;
[INFO] [stderr]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Fecha` is never constructed
[INFO] [stderr]   --> main_app/src/main.rs:37:8
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct Fecha{
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> main_app/src/main.rs:43:8
[INFO] [stderr]     |
[INFO] [stderr]  42 | impl Fecha{
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  43 |     fn new(dia: u8, mes:u8, anio:u32) -> Fecha{
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     fn max_dias(&self) -> u8{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Libro` is never constructed
[INFO] [stderr]    --> main_app/src/main.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | struct Libro{
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Genero` is never used
[INFO] [stderr]    --> main_app/src/main.rs:132:6
[INFO] [stderr]     |
[INFO] [stderr] 132 | enum Genero{
[INFO] [stderr]     |      ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CopiaRegistro` is never constructed
[INFO] [stderr]    --> main_app/src/main.rs:135:8
[INFO] [stderr]     |
[INFO] [stderr] 135 | struct CopiaRegistro{
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Cliente` is never constructed
[INFO] [stderr]    --> main_app/src/main.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 139 | struct Cliente{
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Prestamo` is never constructed
[INFO] [stderr]    --> main_app/src/main.rs:144:8
[INFO] [stderr]     |
[INFO] [stderr] 144 | struct Prestamo{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `EstadoPrestamo` is never used
[INFO] [stderr]    --> main_app/src/main.rs:152:6
[INFO] [stderr]     |
[INFO] [stderr] 152 | enum EstadoPrestamo{
[INFO] [stderr]     |      ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Biblioteca` is never constructed
[INFO] [stderr]    --> main_app/src/main.rs:155:8
[INFO] [stderr]     |
[INFO] [stderr] 155 | struct Biblioteca{
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> main_app/src/main.rs:164:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl Biblioteca{
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 164 |     fn new(nombre: String, direccion: String) -> Biblioteca{
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     fn obtener_cantidad_copias(&self, libro: &Libro) -> u32{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 175 |     fn decrementar_copias(&mut self, libro: &Libro){
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 186 |     fn agregar_copias(&mut self, libro: Libro, cantidad: u32){
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     fn incrementar_copias(&mut self, libro: &Libro){
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn contar_prestamos_cliente(&self, cliente: &Cliente) -> u32{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 217 |     fn realizar_prestamo(&mut self, libro: Libro, cliente: Cliente, fecha_venc: Fecha) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 235 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 255 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 268 |     fn buscar_prestamo(&self, libro: &Libro, cliente: &Cliente) -> Option<&Prestamo>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 279 |     fn devolver_libro(&mut self, libro: &Libro, cliente: &Cliente, fecha_dev: Fecha) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tp3_3` (bin "tp3_3" test) generated 12 warnings (run `cargo fix --bin "tp3_3" -p tp3_3 --tests` to apply 11 suggestions)
[INFO] [stderr] warning: `main_app` (bin "main_app" test) generated 41 warnings (run `cargo fix --bin "main_app" -p main_app --tests` to apply 24 suggestions)
[INFO] [stderr] warning: variable `newData` should have a snake case name
[INFO] [stderr]  --> tp2/8/src/main.rs:9:13
[INFO] [stderr]   |
[INFO] [stderr] 9 |     let mut newData = [0.0;N];
[INFO] [stderr]   |             ^^^^^^^ help: convert the identifier to snake case: `new_data`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 |         if (self.anio != una_fecha.anio) {
[INFO] [stderr]    |            ^                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 48 -         if (self.anio != una_fecha.anio) {
[INFO] [stderr] 48 +         if self.anio != una_fecha.anio {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:50:19
[INFO] [stderr]    |
[INFO] [stderr] 50 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr]    |                   ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 50 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr] 50 +         } else if self.mes != una_fecha.mes {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:58:16
[INFO] [stderr]    |
[INFO] [stderr] 58 |             if (self.dia == 1) {
[INFO] [stderr]    |                ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -             if (self.dia == 1) {
[INFO] [stderr] 58 +             if self.dia == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:59:20
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 if (self.mes == 1) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 59 -                 if (self.mes == 1) {
[INFO] [stderr] 59 +                 if self.mes == 1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:74:16
[INFO] [stderr]    |
[INFO] [stderr] 74 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 74 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr] 74 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:77:20
[INFO] [stderr]    |
[INFO] [stderr] 77 |                 if (self.mes > 12) {
[INFO] [stderr]    |                    ^             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 77 -                 if (self.mes > 12) {
[INFO] [stderr] 77 +                 if self.mes > 12 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:87:11
[INFO] [stderr]    |
[INFO] [stderr] 87 |         if(self.dia<1){
[INFO] [stderr]    |           ^          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 87 -         if(self.dia<1){
[INFO] [stderr] 87 +         if self.dia<1 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/10/src/main.rs:90:11
[INFO] [stderr]    |
[INFO] [stderr] 90 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr]    |           ^                              ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 90 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr] 90 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:110:15
[INFO] [stderr]     |
[INFO] [stderr] 110 |             if(self.es_bisiesto()){
[INFO] [stderr]     |               ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 110 -             if(self.es_bisiesto()){
[INFO] [stderr] 110 +             if self.es_bisiesto() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `novela` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `infantil` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:133:12
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |            ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `tecnico` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:133:21
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |                     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:133:29
[INFO] [stderr]     |
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |                             ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `devuelto` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     devuelto,en_prestamo
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stderr]    --> tp3/10/src/main.rs:153:14
[INFO] [stderr]     |
[INFO] [stderr] 153 |     devuelto,en_prestamo
[INFO] [stderr]     |              ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:169:16
[INFO] [stderr]     |
[INFO] [stderr] 169 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 169 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 169 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:178:16
[INFO] [stderr]     |
[INFO] [stderr] 178 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 178 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 178 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:188:16
[INFO] [stderr]     |
[INFO] [stderr] 188 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 188 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:199:16
[INFO] [stderr]     |
[INFO] [stderr] 199 |             if (p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stderr]     |                ^
[INFO] [stderr] 200 |                 && p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 199 ~             if p.cliente.nombre==cliente.nombre && p.cliente.telefono==cliente.telefono
[INFO] [stderr] 200 ~                 && p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:208:12
[INFO] [stderr]     |
[INFO] [stderr] 208 |         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stderr]     |            ^                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 208 -         if (self.contar_prestamos_cliente(&cliente)>=5){
[INFO] [stderr] 208 +         if self.contar_prestamos_cliente(&cliente)>=5 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:215:16
[INFO] [stderr]     |
[INFO] [stderr] 215 |             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr]     |                ^                                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 215 -             if (self.copias[i].libro.isbn==libro.isbn){
[INFO] [stderr] 215 +             if self.copias[i].libro.isbn==libro.isbn {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:216:20
[INFO] [stderr]     |
[INFO] [stderr] 216 |                 if (self.copias[i].cantidad>0){
[INFO] [stderr]     |                    ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 216 -                 if (self.copias[i].cantidad>0){
[INFO] [stderr] 216 +                 if self.copias[i].cantidad>0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:244:16
[INFO] [stderr]     |
[INFO] [stderr] 244 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                ^                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 244 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr] 244 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:247:20
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stderr]     |                    ^                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 247 -                 if (venc_mayor_actual && venc_menor_limite){
[INFO] [stderr] 247 +                 if venc_mayor_actual && venc_menor_limite {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:258:16
[INFO] [stderr]     |
[INFO] [stderr] 258 |             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                ^                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 258 -             if (p.estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr] 258 +             if p.estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:259:20
[INFO] [stderr]     |
[INFO] [stderr] 259 |                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stderr]     |                    ^                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 259 -                 if (fecha_actual.es_mayor(&p.fecha_vencimiento)){
[INFO] [stderr] 259 +                 if fecha_actual.es_mayor(&p.fecha_vencimiento) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:270:16
[INFO] [stderr]     |
[INFO] [stderr] 270 |             if (p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stderr]     |                ^
[INFO] [stderr] 271 |                 && p.cliente.telefono==cliente.telefono){
[INFO] [stderr]     |                                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 270 ~             if p.libro.isbn==libro.isbn && p.cliente.nombre==cliente.nombre
[INFO] [stderr] 271 ~                 && p.cliente.telefono==cliente.telefono {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/10/src/main.rs:280:16
[INFO] [stderr]     |
[INFO] [stderr] 280 |             if (self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stderr]     |                ^
[INFO] [stderr] ...
[INFO] [stderr] 283 |                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo){
[INFO] [stderr]     |                                                                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 280 ~             if self.prestamos[i].libro.isbn==libro.isbn
[INFO] [stderr] 281 |                 && self.prestamos[i].cliente.nombre==cliente.nombre
[INFO] [stderr] 282 |                 && self.prestamos[i].cliente.telefono==cliente.telefono
[INFO] [stderr] 283 ~                 && self.prestamos[i].estado == EstadoPrestamo::en_prestamo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> tp3/10/src/main.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> tp3/10/src/main.rs:72:13
[INFO] [stderr]    |
[INFO] [stderr] 72 |         for i in 0..dias {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> tp3/10/src/main.rs:101:29
[INFO] [stderr]     |
[INFO] [stderr] 101 |         let mut result:u8 = 0;
[INFO] [stderr]     |                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 104 |             result = 31;
[INFO] [stderr]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stderr]   --> tp3/10/src/main.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct Fecha{
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 38 |     dia: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 39 |     mes: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 40 |     anio: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stderr]    --> tp3/10/src/main.rs:47:8
[INFO] [stderr]     |
[INFO] [stderr]  42 | impl Fecha{
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  47 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  56 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  71 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  85 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  96 |     fn es_bisiesto(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     fn max_dias(&self) -> u8{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `titulo`, `autor`, `num_paginas`, and `genero` are never read
[INFO] [stderr]    --> tp3/10/src/main.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 125 | struct Libro{
[INFO] [stderr]     |        ----- fields in this struct
[INFO] [stderr] 126 |     isbn: String,
[INFO] [stderr] 127 |     titulo: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 128 |     autor: String,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 129 |     num_paginas: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 130 |     genero: Genero,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `novela`, `infantil`, and `otros` are never constructed
[INFO] [stderr]    --> tp3/10/src/main.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 132 | enum Genero{
[INFO] [stderr]     |      ------ variants in this enum
[INFO] [stderr] 133 |     novela,infantil,tecnico,otros
[INFO] [stderr]     |     ^^^^^^ ^^^^^^^^         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `email` is never read
[INFO] [stderr]    --> tp3/10/src/main.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 139 | struct Cliente{
[INFO] [stderr]     |        ------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 142 |     email: String,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `fecha_vencimiento` is never read
[INFO] [stderr]    --> tp3/10/src/main.rs:147:5
[INFO] [stderr]     |
[INFO] [stderr] 144 | struct Prestamo{
[INFO] [stderr]     |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 147 |     fecha_vencimiento: Fecha,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre` and `direccion` are never read
[INFO] [stderr]    --> tp3/10/src/main.rs:156:5
[INFO] [stderr]     |
[INFO] [stderr] 155 | struct Biblioteca{
[INFO] [stderr]     |        ---------- fields in this struct
[INFO] [stderr] 156 |     nombre: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 157 |     direccion: String,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `prestamos_a_vencer` and `prestamos_vencidos` are never used
[INFO] [stderr]    --> tp3/10/src/main.rs:234:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl Biblioteca{
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 234 |     fn prestamos_a_vencer(&self, dias: u32, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     fn prestamos_vencidos(&self, fecha_actual: &Fecha) -> Vec<&Prestamo>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tp2_8` (bin "tp2_8" test) generated 1 warning
[INFO] [stderr] warning: `tp3_10` (bin "tp3_10" test) generated 39 warnings (run `cargo fix --bin "tp3_10" -p tp3_10 --tests` to apply 24 suggestions)
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:129:11
[INFO] [stderr]     |
[INFO] [stderr] 129 |         if(venta.cliente.newsletter.is_some()){
[INFO] [stderr]     |           ^                                  ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 129 -         if(venta.cliente.newsletter.is_some()){
[INFO] [stderr] 129 +         if venta.cliente.newsletter.is_some() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:147:23
[INFO] [stderr]     |
[INFO] [stderr] 147 |                     if(producto.categoria == cat){
[INFO] [stderr]     |                       ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 147 -                     if(producto.categoria == cat){
[INFO] [stderr] 147 +                     if producto.categoria == cat {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:175:19
[INFO] [stderr]     |
[INFO] [stderr] 175 |                 if(item.0 == venta.vendedor.legajo){
[INFO] [stderr]     |                   ^                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 175 -                 if(item.0 == venta.vendedor.legajo){
[INFO] [stderr] 175 +                 if item.0 == venta.vendedor.legajo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:181:16
[INFO] [stderr]     |
[INFO] [stderr] 181 |             if (!encontrado) {
[INFO] [stderr]     |                ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 181 -             if (!encontrado) {
[INFO] [stderr] 181 +             if !encontrado {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:203:12
[INFO] [stderr]     |
[INFO] [stderr] 203 |         if (self.anio != una_fecha.anio) {
[INFO] [stderr]     |            ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 203 -         if (self.anio != una_fecha.anio) {
[INFO] [stderr] 203 +         if self.anio != una_fecha.anio {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:205:19
[INFO] [stderr]     |
[INFO] [stderr] 205 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr]     |                   ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 205 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr] 205 +         } else if self.mes != una_fecha.mes {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:213:16
[INFO] [stderr]     |
[INFO] [stderr] 213 |             if (self.dia == 1) {
[INFO] [stderr]     |                ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 213 -             if (self.dia == 1) {
[INFO] [stderr] 213 +             if self.dia == 1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:214:20
[INFO] [stderr]     |
[INFO] [stderr] 214 |                 if (self.mes == 1) {
[INFO] [stderr]     |                    ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 214 -                 if (self.mes == 1) {
[INFO] [stderr] 214 +                 if self.mes == 1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:229:16
[INFO] [stderr]     |
[INFO] [stderr] 229 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr]     |                ^                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 229 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr] 229 +             if self.dia > Fecha::max_dias(self) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:232:20
[INFO] [stderr]     |
[INFO] [stderr] 232 |                 if (self.mes > 12) {
[INFO] [stderr]     |                    ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 232 -                 if (self.mes > 12) {
[INFO] [stderr] 232 +                 if self.mes > 12 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:242:11
[INFO] [stderr]     |
[INFO] [stderr] 242 |         if(self.dia<1){
[INFO] [stderr]     |           ^          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 242 -         if(self.dia<1){
[INFO] [stderr] 242 +         if self.dia<1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:245:11
[INFO] [stderr]     |
[INFO] [stderr] 245 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr]     |           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 245 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr] 245 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/4/src/main.rs:265:15
[INFO] [stderr]     |
[INFO] [stderr] 265 |             if(self.es_bisiesto()){
[INFO] [stderr]     |               ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 265 -             if(self.es_bisiesto()){
[INFO] [stderr] 265 +             if self.es_bisiesto() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tp4/4/src/main.rs:212:13
[INFO] [stderr]     |
[INFO] [stderr] 212 |         for i in 0..dias {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tp4/4/src/main.rs:227:13
[INFO] [stderr]     |
[INFO] [stderr] 227 |         for i in 0..dias {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> tp4/4/src/main.rs:256:29
[INFO] [stderr]     |
[INFO] [stderr] 256 |         let mut result:u8 = 0;
[INFO] [stderr]     |                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 259 |             result = 31;
[INFO] [stderr]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `nombre` is never read
[INFO] [stderr]   --> tp4/4/src/main.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | struct Producto {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] 60 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Producto` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre`, `apellido`, `direccion`, and `dni` are never read
[INFO] [stderr]   --> tp4/4/src/main.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 66 | struct Cliente {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 67 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 68 |     apellido: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 69 |     direccion: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 70 |     dni: String,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Cliente` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `antiguedad` and `salario` are never read
[INFO] [stderr]   --> tp4/4/src/main.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 75 | struct Vendedor {
[INFO] [stderr]    |        -------- fields in this struct
[INFO] [stderr] 76 |     legajo: u32,
[INFO] [stderr] 77 |     antiguedad: u32,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 78 |     salario: f64
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Vendedor` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TarjetaDebito` is never constructed
[INFO] [stderr]   --> tp4/4/src/main.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 81 | enum MedioPago {
[INFO] [stderr]    |      --------- variant in this enum
[INFO] [stderr] 82 |     TarjetaCredito,
[INFO] [stderr] 83 |     TarjetaDebito,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `fecha` and `medio_pago` are never read
[INFO] [stderr]   --> tp4/4/src/main.rs:89:5
[INFO] [stderr]    |
[INFO] [stderr] 88 | struct Venta {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 89 |     fecha: Fecha,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92 |     medio_pago: MedioPago,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stderr]    --> tp4/4/src/main.rs:193:5
[INFO] [stderr]     |
[INFO] [stderr] 192 | struct Fecha{
[INFO] [stderr]     |        ----- fields in this struct
[INFO] [stderr] 193 |     dia: u8,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 194 |     mes: u8,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 195 |     anio: u32,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stderr]    --> tp4/4/src/main.rs:202:8
[INFO] [stderr]     |
[INFO] [stderr] 197 | impl Fecha{
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 202 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 226 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 240 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 251 |     fn es_bisiesto(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 255 |     fn max_dias(&self) -> u8{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rojo` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     rojo,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `verde` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     verde,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `azul` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     azul,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `amarillo` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     amarillo,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `blanco` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     blanco,
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `negro` should have an upper camel case name
[INFO] [stderr]   --> tp3/7/src/main.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     negro,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/7/src/main.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 |         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[INFO] [stderr]    |            ^                                                            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 58 -         if (*c == Color::rojo || *c == Color::verde || *c == Color::azul) {
[INFO] [stderr] 58 +         if *c == Color::rojo || *c == Color::verde || *c == Color::azul {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/7/src/main.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |         if (self.marca == "BMW") {
[INFO] [stderr]    |            ^                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 63 -         if (self.marca == "BMW") {
[INFO] [stderr] 63 +         if self.marca == "BMW" {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/7/src/main.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 |         if (self.anio < 2000) {
[INFO] [stderr]    |            ^                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 66 -         if (self.anio < 2000) {
[INFO] [stderr] 66 +         if self.anio < 2000 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/7/src/main.rs:95:20
[INFO] [stderr]    |
[INFO] [stderr] 95 |                 if (auto.color == i) {
[INFO] [stderr]    |                    ^               ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 95 -                 if (auto.color == i) {
[INFO] [stderr] 95 +                 if auto.color == i {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/7/src/main.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 105 |         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stderr]     |            ^                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 105 -         if ((self.autos.len() as u32) < self.capacidad) {
[INFO] [stderr] 105 +         if (self.autos.len() as u32) < self.capacidad {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/7/src/main.rs:115:16
[INFO] [stderr]     |
[INFO] [stderr] 115 |             if (self.autos[i].marca == marca
[INFO] [stderr]     |                ^
[INFO] [stderr] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stderr] 117 |                 && self.autos[i].anio == anio)
[INFO] [stderr]     |                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 115 ~             if self.autos[i].marca == marca
[INFO] [stderr] 116 |                 && self.autos[i].modelo == modelo
[INFO] [stderr] 117 ~                 && self.autos[i].anio == anio
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/7/src/main.rs:128:16
[INFO] [stderr]     |
[INFO] [stderr] 128 |             if (self.autos[i].marca == marca
[INFO] [stderr]     |                ^
[INFO] [stderr] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stderr] 130 |                 && self.autos[i].anio == anio)
[INFO] [stderr]     |                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 128 ~             if self.autos[i].marca == marca
[INFO] [stderr] 129 |                 && self.autos[i].modelo == modelo
[INFO] [stderr] 130 ~                 && self.autos[i].anio == anio
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre` and `direccion` are never read
[INFO] [stderr]   --> tp3/7/src/main.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | struct ConcesionarioAuto {
[INFO] [stderr]    |        ----------------- fields in this struct
[INFO] [stderr] 74 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 75 |     direccion: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]  --> tp2/4/src/main.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 |         if(i%2!=0){
[INFO] [stderr]   |           ^      ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]   |
[INFO] [stderr] 9 -         if(i%2!=0){
[INFO] [stderr] 9 +         if i%2!=0 {
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: `tp4_4` (bin "tp4_4" test) generated 23 warnings (run `cargo fix --bin "tp4_4" -p tp4_4 --tests` to apply 15 suggestions)
[INFO] [stderr] warning: `tp3_7` (bin "tp3_7" test) generated 14 warnings (run `cargo fix --bin "tp3_7" -p tp3_7 --tests` to apply 7 suggestions)
[INFO] [stderr] warning: `tp2_4` (bin "tp2_4" test) generated 1 warning (run `cargo fix --bin "tp2_4" -p tp2_4 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp2/12/src/main.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 |         if(data[i]%2==0){
[INFO] [stderr]    |           ^            ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 10 -         if(data[i]%2==0){
[INFO] [stderr] 10 +         if data[i]%2==0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::str`
[INFO] [stderr]  --> tp4/3/src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use core::str;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp4/3/src/main.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 |         if (self.suscripcion.is_none()) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 34 -         if (self.suscripcion.is_none()) {
[INFO] [stderr] 34 +         if self.suscripcion.is_none()  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp4/3/src/main.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 40 |         if (self.suscripcion.is_none()) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 40 -         if (self.suscripcion.is_none()) {
[INFO] [stderr] 40 +         if self.suscripcion.is_none()  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp4/3/src/main.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stderr]    |            ^                                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 44 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stderr] 44 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp4/3/src/main.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 |         if (self.suscripcion.is_none()) {
[INFO] [stderr]    |            ^                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 -         if (self.suscripcion.is_none()) {
[INFO] [stderr] 51 +         if self.suscripcion.is_none()  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp4/3/src/main.rs:94:16
[INFO] [stderr]    |
[INFO] [stderr] 94 |             if (usuario.suscripcion.is_none()) {
[INFO] [stderr]    |                ^                             ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 94 -             if (usuario.suscripcion.is_none()) {
[INFO] [stderr] 94 +             if usuario.suscripcion.is_none()  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/3/src/main.rs:118:16
[INFO] [stderr]     |
[INFO] [stderr] 118 |             if (usuario.medio_pago.is_none()) {
[INFO] [stderr]     |                ^                            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 118 -             if (usuario.medio_pago.is_none()) {
[INFO] [stderr] 118 +             if usuario.medio_pago.is_none()  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/3/src/main.rs:121:16
[INFO] [stderr]     |
[INFO] [stderr] 121 |             if (usuario.suscripcion.is_none()) {
[INFO] [stderr]     |                ^                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 121 -             if (usuario.suscripcion.is_none()) {
[INFO] [stderr] 121 +             if usuario.suscripcion.is_none()  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/3/src/main.rs:124:16
[INFO] [stderr]     |
[INFO] [stderr] 124 |             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stderr]     |                ^                                                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 124 -             if (active && usuario.suscripcion.as_ref().unwrap().cancelada) {
[INFO] [stderr] 124 +             if active && usuario.suscripcion.as_ref().unwrap().cancelada  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `platform`
[INFO] [stderr]    --> tp4/3/src/main.rs:345:9
[INFO] [stderr]     |
[INFO] [stderr] 345 |     let platform = Platform {
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_platform`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rock` should have an upper camel case name
[INFO] [stderr]   --> tp3/8/src/main.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     rock,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `pop` should have an upper camel case name
[INFO] [stderr]   --> tp3/8/src/main.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pop,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rap` should have an upper camel case name
[INFO] [stderr]   --> tp3/8/src/main.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     rap,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `jazz` should have an upper camel case name
[INFO] [stderr]   --> tp3/8/src/main.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     jazz,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]   --> tp3/8/src/main.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 |     otros,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/8/src/main.rs:52:16
[INFO] [stderr]    |
[INFO] [stderr] 52 |             if (self.canciones[i].titulo==titulo){
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 52 -             if (self.canciones[i].titulo==titulo){
[INFO] [stderr] 52 +             if self.canciones[i].titulo==titulo {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/8/src/main.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 |         if(id==0){
[INFO] [stderr]    |           ^     ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 68 -         if(id==0){
[INFO] [stderr] 68 +         if id==0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/8/src/main.rs:73:11
[INFO] [stderr]    |
[INFO] [stderr] 73 |         if(pos as usize > self.canciones.len()){
[INFO] [stderr]    |           ^                                   ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 73 -         if(pos as usize > self.canciones.len()){
[INFO] [stderr] 73 +         if pos as usize > self.canciones.len() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/8/src/main.rs:82:16
[INFO] [stderr]    |
[INFO] [stderr] 82 |             if (self.canciones[i].titulo==titulo){
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 82 -             if (self.canciones[i].titulo==titulo){
[INFO] [stderr] 82 +             if self.canciones[i].titulo==titulo {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/8/src/main.rs:92:16
[INFO] [stderr]    |
[INFO] [stderr] 92 |             if (self.canciones[i].genero==genero){
[INFO] [stderr]    |                ^                                ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 92 -             if (self.canciones[i].genero==genero){
[INFO] [stderr] 92 +             if self.canciones[i].genero==genero {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/8/src/main.rs:104:15
[INFO] [stderr]     |
[INFO] [stderr] 104 |             if(self.canciones[i].artista==artista){
[INFO] [stderr]     |               ^                                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 104 -             if(self.canciones[i].artista==artista){
[INFO] [stderr] 104 +             if self.canciones[i].artista==artista {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `rap`, `jazz`, and `otros` are never constructed
[INFO] [stderr]   --> tp3/8/src/main.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | enum Genero{
[INFO] [stderr]    |      ------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 30 |     rap,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 31 |     jazz,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 32 |     otros,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Genero` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stderr]   --> tp3/9/src/main.rs:54:6
[INFO] [stderr]    |
[INFO] [stderr] 54 | enum Tipo_Animal {
[INFO] [stderr]    |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `perro` should have an upper camel case name
[INFO] [stderr]   --> tp3/9/src/main.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     perro,gato,caballo,otros
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `gato` should have an upper camel case name
[INFO] [stderr]   --> tp3/9/src/main.rs:55:11
[INFO] [stderr]    |
[INFO] [stderr] 55 |     perro,gato,caballo,otros
[INFO] [stderr]    |           ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `caballo` should have an upper camel case name
[INFO] [stderr]   --> tp3/9/src/main.rs:55:16
[INFO] [stderr]    |
[INFO] [stderr] 55 |     perro,gato,caballo,otros
[INFO] [stderr]    |                ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]   --> tp3/9/src/main.rs:55:24
[INFO] [stderr]    |
[INFO] [stderr] 55 |     perro,gato,caballo,otros
[INFO] [stderr]    |                        ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/9/src/main.rs:73:15
[INFO] [stderr]    |
[INFO] [stderr] 73 |             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[INFO] [stderr]    |               ^                                                    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 73 -             if(nombre==msc.nombre && msc.dueno.nombre==nombre_dueno){
[INFO] [stderr] 73 +             if nombre==msc.nombre && msc.dueno.nombre==nombre_dueno {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/9/src/main.rs:85:15
[INFO] [stderr]    |
[INFO] [stderr] 85 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stderr]    |               ^
[INFO] [stderr] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stderr] 87 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stderr]    |                                                       ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 85 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stderr] 86 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stderr] 87 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/9/src/main.rs:95:15
[INFO] [stderr]    |
[INFO] [stderr] 95 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stderr]    |               ^
[INFO] [stderr] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stderr] 97 |                 && at.mascota.dueno.telefono == telefono) {
[INFO] [stderr]    |                                                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 95 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stderr] 96 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stderr] 97 ~                 && at.mascota.dueno.telefono == telefono  {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:105:15
[INFO] [stderr]     |
[INFO] [stderr] 105 |             if(at.mascota.nombre == nombre_mascota
[INFO] [stderr]     |               ^
[INFO] [stderr] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stderr] 107 |                 && at.mascota.dueno.telefono == telefono){
[INFO] [stderr]     |                                                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 105 ~             if at.mascota.nombre == nombre_mascota
[INFO] [stderr] 106 |                 && at.mascota.dueno.nombre == nombre_dueno
[INFO] [stderr] 107 ~                 && at.mascota.dueno.telefono == telefono {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:116:15
[INFO] [stderr]     |
[INFO] [stderr] 116 |             if(nombre_mascota==at.mascota.nombre 
[INFO] [stderr]     |               ^
[INFO] [stderr] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stderr] 118 |                 && telefono==at.mascota.dueno.telefono){
[INFO] [stderr]     |                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 116 ~             if nombre_mascota==at.mascota.nombre 
[INFO] [stderr] 117 |                 && nombre_dueno==at.mascota.dueno.nombre
[INFO] [stderr] 118 ~                 && telefono==at.mascota.dueno.telefono {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:131:12
[INFO] [stderr]     |
[INFO] [stderr] 131 |         if (self.anio != una_fecha.anio) {
[INFO] [stderr]     |            ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 131 -         if (self.anio != una_fecha.anio) {
[INFO] [stderr] 131 +         if self.anio != una_fecha.anio  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:133:19
[INFO] [stderr]     |
[INFO] [stderr] 133 |         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr]     |                   ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 133 -         } else if (self.mes != una_fecha.mes) {
[INFO] [stderr] 133 +         } else if self.mes != una_fecha.mes  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:141:16
[INFO] [stderr]     |
[INFO] [stderr] 141 |             if (self.dia == 1) {
[INFO] [stderr]     |                ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 141 -             if (self.dia == 1) {
[INFO] [stderr] 141 +             if self.dia == 1  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:142:20
[INFO] [stderr]     |
[INFO] [stderr] 142 |                 if (self.mes == 1) {
[INFO] [stderr]     |                    ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 142 -                 if (self.mes == 1) {
[INFO] [stderr] 142 +                 if self.mes == 1  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:157:16
[INFO] [stderr]     |
[INFO] [stderr] 157 |             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr]     |                ^                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 157 -             if (self.dia > Fecha::max_dias(self)) {
[INFO] [stderr] 157 +             if self.dia > Fecha::max_dias(self)  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:160:20
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 if (self.mes > 12) {
[INFO] [stderr]     |                    ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 160 -                 if (self.mes > 12) {
[INFO] [stderr] 160 +                 if self.mes > 12  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:170:11
[INFO] [stderr]     |
[INFO] [stderr] 170 |         if(self.dia<1){
[INFO] [stderr]     |           ^          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 170 -         if(self.dia<1){
[INFO] [stderr] 170 +         if self.dia<1 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:173:11
[INFO] [stderr]     |
[INFO] [stderr] 173 |         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr]     |           ^                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 173 -         if(self.dia>Fecha::max_dias(self)){
[INFO] [stderr] 173 +         if self.dia>Fecha::max_dias(self) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp3/9/src/main.rs:193:15
[INFO] [stderr]     |
[INFO] [stderr] 193 |             if(self.es_bisiesto()){
[INFO] [stderr]     |               ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 193 -             if(self.es_bisiesto()){
[INFO] [stderr] 193 +             if self.es_bisiesto() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tp3/9/src/main.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |         for i in 0..dias {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tp3/9/src/main.rs:155:13
[INFO] [stderr]     |
[INFO] [stderr] 155 |         for i in 0..dias {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> tp3/9/src/main.rs:184:29
[INFO] [stderr]     |
[INFO] [stderr] 184 |         let mut result:u8 = 0;
[INFO] [stderr]     |                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 187 |             result = 31;
[INFO] [stderr]     |             ----------- `result` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stderr]   --> tp3/9/src/main.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct Fecha{
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 26 |     dia: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 27 |     mes: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 28 |     anio: u32
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre`, `dir`, and `id` are never read
[INFO] [stderr]   --> tp3/9/src/main.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | struct Veterinaria{
[INFO] [stderr]    |        ----------- fields in this struct
[INFO] [stderr] 31 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 32 |     dir: String,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 33 |     id: u32,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `dir` is never read
[INFO] [stderr]   --> tp3/9/src/main.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 37 | struct Dueno{
[INFO] [stderr]    |        ----- field in this struct
[INFO] [stderr] 38 |     nombre: String,
[INFO] [stderr] 39 |     dir: String,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `edad` and `tipo` are never read
[INFO] [stderr]   --> tp3/9/src/main.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | struct Mascota{
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 43 |     nombre: String,
[INFO] [stderr] 44 |     edad: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 45 |     tipo: Tipo_Animal,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `tratamiento` is never read
[INFO] [stderr]   --> tp3/9/src/main.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | struct Atencion {
[INFO] [stderr]    |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 51 |     tratamiento: String,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` is never constructed
[INFO] [stderr]   --> tp3/9/src/main.rs:55:24
[INFO] [stderr]    |
[INFO] [stderr] 54 | enum Tipo_Animal {
[INFO] [stderr]    |      ----------- variant in this enum
[INFO] [stderr] 55 |     perro,gato,caballo,otros
[INFO] [stderr]    |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `es_mayor`, `restar_dias`, `sumar_dias`, `es_fecha_valida`, `es_bisiesto`, and `max_dias` are never used
[INFO] [stderr]    --> tp3/9/src/main.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | impl Fecha{
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 130 |     fn es_mayor(&self, una_fecha: &Fecha) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 139 |     fn restar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     fn sumar_dias(&mut self, dias: u32) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     fn es_fecha_valida(&self) -> bool{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     fn es_bisiesto(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 183 |     fn max_dias(&self) -> u8{
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/6/src/main.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 |         if (self.examenes.is_empty()) {
[INFO] [stderr]    |            ^                        ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 38 -         if (self.examenes.is_empty()) {
[INFO] [stderr] 38 +         if self.examenes.is_empty() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/6/src/main.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 |         if (self.examenes.is_empty()) {
[INFO] [stderr]    |            ^                        ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 49 -         if (self.examenes.is_empty()) {
[INFO] [stderr] 49 +         if self.examenes.is_empty() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/6/src/main.rs:54:15
[INFO] [stderr]    |
[INFO] [stderr] 54 |             if(max<self.examenes[i].nota){
[INFO] [stderr]    |               ^                         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 54 -             if(max<self.examenes[i].nota){
[INFO] [stderr] 54 +             if max<self.examenes[i].nota {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/6/src/main.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 |         if (self.examenes.is_empty()) {
[INFO] [stderr]    |            ^                        ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 62 -         if (self.examenes.is_empty()) {
[INFO] [stderr] 62 +         if self.examenes.is_empty() {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/6/src/main.rs:67:15
[INFO] [stderr]    |
[INFO] [stderr] 67 |             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stderr]    |               ^                                  ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 67 -             if(min>self.examenes[i].nota||min<0.0){
[INFO] [stderr] 67 +             if min>self.examenes[i].nota||min<0.0 {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `materia` is never read
[INFO] [stderr]   --> tp3/6/src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | struct Examen {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] 16 |     materia: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tp2_12` (bin "tp2_12" test) generated 1 warning (run `cargo fix --bin "tp2_12" -p tp2_12 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `tp4_3` (bin "tp4_3" test) generated 10 warnings (run `cargo fix --bin "tp4_3" -p tp4_3 --tests` to apply 10 suggestions)
[INFO] [stderr] warning: `tp3_8` (bin "tp3_8" test) generated 12 warnings (run `cargo fix --bin "tp3_8" -p tp3_8 --tests` to apply 6 suggestions)
[INFO] [stderr] warning: `tp3_9` (bin "tp3_9" test) generated 29 warnings (run `cargo fix --bin "tp3_9" -p tp3_9 --tests` to apply 16 suggestions)
[INFO] [stderr] warning: `tp3_6` (bin "tp3_6" test) generated 6 warnings (run `cargo fix --bin "tp3_6" -p tp3_6 --tests` to apply 5 suggestions)
[INFO] [stderr] warning: type `tipo` should have an upper camel case name
[INFO] [stderr]   --> tp3/4/src/main.rs:15:6
[INFO] [stderr]    |
[INFO] [stderr] 15 | enum tipo{
[INFO] [stderr]    |      ^^^^ help: convert the identifier to upper camel case: `Tipo`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `equilatero` should have an upper camel case name
[INFO] [stderr]   --> tp3/4/src/main.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     equilatero,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `Equilatero`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `esosceles` should have an upper camel case name
[INFO] [stderr]   --> tp3/4/src/main.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     esosceles,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `Esosceles`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `escaleno` should have an upper camel case name
[INFO] [stderr]   --> tp3/4/src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     escaleno
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Escaleno`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp3/4/src/main.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 30 |         } else if (a==b || b==c || c==a){
[INFO] [stderr]    |                   ^                    ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 30 -         } else if (a==b || b==c || c==a){
[INFO] [stderr] 30 +         } else if a==b || b==c || c==a {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> tp2/15/src/main.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     for i in 0..tamano{
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tp3_4` (bin "tp3_4" test) generated 5 warnings (run `cargo fix --bin "tp3_4" -p tp3_4 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `tp2_15` (bin "tp2_15" test) generated 1 warning (run `cargo fix --bin "tp2_15" -p tp2_15 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: type `Tipo_Animal` should have an upper camel case name
[INFO] [stderr]    --> tp5/3/src/main.rs:132:6
[INFO] [stderr]     |
[INFO] [stderr] 132 | enum Tipo_Animal {
[INFO] [stderr]     |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `TipoAnimal`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `perro` should have an upper camel case name
[INFO] [stderr]    --> tp5/3/src/main.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     perro,
[INFO] [stderr]     |     ^^^^^ help: convert the identifier to upper camel case: `Perro`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `gato` should have an upper camel case name
[INFO] [stderr]    --> tp5/3/src/main.rs:134:5
[INFO] [stderr]     |
[INFO] [stderr] 134 |     gato,
[INFO] [stderr]     |     ^^^^ help: convert the identifier to upper camel case: `Gato`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `caballo` should have an upper camel case name
[INFO] [stderr]    --> tp5/3/src/main.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     caballo,
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Caballo`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]    --> tp5/3/src/main.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     otros,
[INFO] [stderr]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tp5/3/src/main.rs:400:9
[INFO] [stderr]     |
[INFO] [stderr] 400 |     let mut f1 = Fecha::new(28, 2, 2024); // Año bisiesto
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tp5/3/src/main.rs:404:9
[INFO] [stderr]     |
[INFO] [stderr] 404 |     let mut f2 = Fecha::new(28, 2, 2023); // No bisiesto
[INFO] [stderr]     |         ----^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre`, `dir`, and `id` are never read
[INFO] [stderr]    --> tp5/3/src/main.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr]  99 | struct Veterinaria {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] 100 |     nombre: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 101 |     dir: String,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 102 |     id: u32,
[INFO] [stderr]     |     ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rojo` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     rojo,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Rojo`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `verde` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     verde,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Verde`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `azul` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     azul,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Azul`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `amarillo` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     amarillo,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Amarillo`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `blanco` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     blanco,
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `Blanco`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `negro` should have an upper camel case name
[INFO] [stderr]   --> tp5/1/src/main.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     negro,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case: `Negro`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre` and `direccion` are never read
[INFO] [stderr]   --> tp5/1/src/main.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 63 | struct ConcesionarioAuto {
[INFO] [stderr]    |        ----------------- fields in this struct
[INFO] [stderr] 64 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 65 |     direccion: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rock` should have an upper camel case name
[INFO] [stderr]   --> tp5/2/src/main.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     rock,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Rock`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `pop` should have an upper camel case name
[INFO] [stderr]   --> tp5/2/src/main.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pop,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `Pop`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `rap` should have an upper camel case name
[INFO] [stderr]   --> tp5/2/src/main.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     rap,
[INFO] [stderr]    |     ^^^ help: convert the identifier to upper camel case: `Rap`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `jazz` should have an upper camel case name
[INFO] [stderr]   --> tp5/2/src/main.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     jazz,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Jazz`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]   --> tp5/2/src/main.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     otros,
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/2/src/main.rs:147:11
[INFO] [stderr]     |
[INFO] [stderr] 147 |         if(id.is_none()){
[INFO] [stderr]     |           ^            ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 147 -         if(id.is_none()){
[INFO] [stderr] 147 +         if id.is_none() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `novela` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 102 |     novela,
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `Novela`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `infantil` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 |     infantil,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Infantil`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `tecnico` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 |     tecnico,
[INFO] [stderr]     |     ^^^^^^^ help: convert the identifier to upper camel case: `Tecnico`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `otros` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 |     otros,
[INFO] [stderr]     |     ^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Otros`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `devuelto` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     devuelto,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `Devuelto`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `en_prestamo` should have an upper camel case name
[INFO] [stderr]    --> tp5/4/src/main.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     en_prestamo,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnPrestamo`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tp5/4/src/main.rs:493:13
[INFO] [stderr]     |
[INFO] [stderr] 493 |         let mut f1 = Fecha::new(28, 2, 2024); // Año bisiesto
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tp5/4/src/main.rs:497:13
[INFO] [stderr]     |
[INFO] [stderr] 497 |         let mut f2 = Fecha::new(28, 2, 2023); // No bisiesto
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre` and `direccion` are never read
[INFO] [stderr]    --> tp5/4/src/main.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 136 | struct Biblioteca {
[INFO] [stderr]     |        ---------- fields in this struct
[INFO] [stderr] 137 |     nombre: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 138 |     direccion: String,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:135:12
[INFO] [stderr]     |
[INFO] [stderr] 135 |         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stderr]     |            ^                                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 135 -         if (suscripcion.tipo == TipoSuscripcion::Basic) {
[INFO] [stderr] 135 +         if suscripcion.tipo == TipoSuscripcion::Basic  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:188:12
[INFO] [stderr]     |
[INFO] [stderr] 188 |         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stderr]     |            ^                                                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 188 -         if (basic_count > classic_count && basic_count > super_count) {
[INFO] [stderr] 188 +         if basic_count > classic_count && basic_count > super_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:190:19
[INFO] [stderr]     |
[INFO] [stderr] 190 |         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stderr]     |                   ^                                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 190 -         } else if (classic_count > basic_count && classic_count > super_count) {
[INFO] [stderr] 190 +         } else if classic_count > basic_count && classic_count > super_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:192:19
[INFO] [stderr]     |
[INFO] [stderr] 192 |         } else if (super_count > 0) {
[INFO] [stderr]     |                   ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 192 -         } else if (super_count > 0) {
[INFO] [stderr] 192 +         } else if super_count > 0  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:208:24
[INFO] [stderr]     |
[INFO] [stderr] 208 |                     if (active && sub.cancelada) {
[INFO] [stderr]     |                        ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 208 -                     if (active && sub.cancelada) {
[INFO] [stderr] 208 +                     if active && sub.cancelada  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:224:12
[INFO] [stderr]     |
[INFO] [stderr] 224 | ...if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stderr]     |       ^                                                                                                                                                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 224 -         if (efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count) {
[INFO] [stderr] 224 +         if efectivo_count > mercadopago_count && efectivo_count > tarjetacredito_count && efectivo_count > transferencia_count && efectivo_count > cripto_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:226:19
[INFO] [stderr]     |
[INFO] [stderr] 226 | ...if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stderr]     |       ^                                                                                                                                                             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 226 -         } else if (mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count) {
[INFO] [stderr] 226 +         } else if mercadopago_count > efectivo_count && mercadopago_count > tarjetacredito_count && mercadopago_count > transferencia_count && mercadopago_count > cripto_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:228:19
[INFO] [stderr]     |
[INFO] [stderr] 228 | ...if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stderr]     |       ^                                                                                                                                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 228 -         } else if (tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count) {
[INFO] [stderr] 228 +         } else if tarjetacredito_count > efectivo_count && tarjetacredito_count > mercadopago_count && tarjetacredito_count > transferencia_count && tarjetacredito_count > cripto_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:230:19
[INFO] [stderr]     |
[INFO] [stderr] 230 | ...if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stderr]     |       ^                                                                                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 230 -         } else if (transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count) {
[INFO] [stderr] 230 +         } else if transferencia_count > efectivo_count && transferencia_count > mercadopago_count && transferencia_count > tarjetacredito_count && transferencia_count > cripto_count  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp5/5/src/main.rs:232:19
[INFO] [stderr]     |
[INFO] [stderr] 232 |         } else if (cripto_count > 0) {
[INFO] [stderr]     |                   ^                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 232 -         } else if (cripto_count > 0) {
[INFO] [stderr] 232 +         } else if cripto_count > 0  {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `tp5_3` (bin "tp5_3" test) generated 8 warnings (run `cargo fix --bin "tp5_3" -p tp5_3 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `tp5_1` (bin "tp5_1" test) generated 7 warnings
[INFO] [stderr] warning: `tp5_2` (bin "tp5_2" test) generated 6 warnings (run `cargo fix --bin "tp5_2" -p tp5_2 --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `tp5_4` (bin "tp5_4" test) generated 9 warnings (run `cargo fix --bin "tp5_4" -p tp5_4 --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `tp5_5` (bin "tp5_5" test) generated 10 warnings (run `cargo fix --bin "tp5_5" -p tp5_5 --tests` to apply 10 suggestions)
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:225:16
[INFO] [stderr]     |
[INFO] [stderr] 225 |             if (c.0 == prefijo) {
[INFO] [stderr]     |                ^              ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 225 -             if (c.0 == prefijo) {
[INFO] [stderr] 225 +             if c.0 == prefijo {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:231:12
[INFO] [stderr]     |
[INFO] [stderr] 231 |         if (!encontrado) {
[INFO] [stderr]     |            ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 231 -         if (!encontrado) {
[INFO] [stderr] 231 +         if !encontrado {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 264 |         if (cotizacion <= 0.0) {
[INFO] [stderr]     |            ^                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 264 -         if (cotizacion <= 0.0) {
[INFO] [stderr] 264 +         if cotizacion <= 0.0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:274:12
[INFO] [stderr]     |
[INFO] [stderr] 274 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stderr]     |            ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 274 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stderr] 274 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:283:16
[INFO] [stderr]     |
[INFO] [stderr] 283 |             if (bal.0 == prefijo_cripto) {
[INFO] [stderr]     |                ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 283 -             if (bal.0 == prefijo_cripto) {
[INFO] [stderr] 283 +             if bal.0 == prefijo_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:317:12
[INFO] [stderr]     |
[INFO] [stderr] 317 |         if (cotizacion <= 0.0) {
[INFO] [stderr]     |            ^                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 317 -         if (cotizacion <= 0.0) {
[INFO] [stderr] 317 +         if cotizacion <= 0.0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:329:16
[INFO] [stderr]     |
[INFO] [stderr] 329 |             if (b.0 == prefijo_cripto) {
[INFO] [stderr]     |                ^                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 329 -             if (b.0 == prefijo_cripto) {
[INFO] [stderr] 329 +             if b.0 == prefijo_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:334:12
[INFO] [stderr]     |
[INFO] [stderr] 334 |         if (bal.is_none()) {
[INFO] [stderr]     |            ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 334 -         if (bal.is_none()) {
[INFO] [stderr] 334 +         if bal.is_none() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:338:12
[INFO] [stderr]     |
[INFO] [stderr] 338 |         if (bal.1 < monto_cripto) {
[INFO] [stderr]     |            ^                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 338 -         if (bal.1 < monto_cripto) {
[INFO] [stderr] 338 +         if bal.1 < monto_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:384:16
[INFO] [stderr]     |
[INFO] [stderr] 384 |             if (b.0 == prefijo_cripto) {
[INFO] [stderr]     |                ^                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 384 -             if (b.0 == prefijo_cripto) {
[INFO] [stderr] 384 +             if b.0 == prefijo_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:389:12
[INFO] [stderr]     |
[INFO] [stderr] 389 |         if (bal.is_none()) {
[INFO] [stderr]     |            ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 389 -         if (bal.is_none()) {
[INFO] [stderr] 389 +         if bal.is_none() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:393:12
[INFO] [stderr]     |
[INFO] [stderr] 393 |         if (bal.1 < monto_cripto) {
[INFO] [stderr]     |            ^                    ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 393 -         if (bal.1 < monto_cripto) {
[INFO] [stderr] 393 +         if bal.1 < monto_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:440:16
[INFO] [stderr]     |
[INFO] [stderr] 440 |             if (bal.0 == prefijo_cripto) {
[INFO] [stderr]     |                ^                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 440 -             if (bal.0 == prefijo_cripto) {
[INFO] [stderr] 440 +             if bal.0 == prefijo_cripto {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> tp4/5/src/main.rs:471:12
[INFO] [stderr]     |
[INFO] [stderr] 471 |         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stderr]     |            ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 471 -         if (usuario.balance_fiat < monto_fiat) {
[INFO] [stderr] 471 +         if usuario.balance_fiat < monto_fiat {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stderr]   --> tp4/5/src/main.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 48 | struct Fecha {
[INFO] [stderr]    |        ----- fields in this struct
[INFO] [stderr] 49 |     dia: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 50 |     mes: u8,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 51 |     anio: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `nombre` is never read
[INFO] [stderr]   --> tp4/5/src/main.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 71 | struct Criptomoneda {
[INFO] [stderr]    |        ------------ field in this struct
[INFO] [stderr] 72 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Criptomoneda` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `nombre`, `apellido`, and `email` are never read
[INFO] [stderr]   --> tp4/5/src/main.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 96 | struct Usuario {
[INFO] [stderr]    |        ------- fields in this struct
[INFO] [stderr] 97 |     nombre: String,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 98 |     apellido: String,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 99 |     email: String,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Usuario` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TransferenciaBancaria` is never constructed
[INFO] [stderr]    --> tp4/5/src/main.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 126 | enum MedioRetiro {
[INFO] [stderr]     |      ----------- variant in this enum
[INFO] [stderr] 127 |     MercadoPago,
[INFO] [stderr] 128 |     TransferenciaBancaria,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MedioRetiro` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `monto` is never read
[INFO] [stderr]    --> tp4/5/src/main.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 132 |     IngresoFiat {
[INFO] [stderr]     |     ----------- field in this variant
[INFO] [stderr] 133 |         monto: f64,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:136:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |     CompraCripto {
[INFO] [stderr]     |     ------------ fields in this variant
[INFO] [stderr] 136 |         cripto: Criptomoneda,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 137 |         monto_cripto: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 138 |         cotizacion: f64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 140 |     VentaCripto {
[INFO] [stderr]     |     ----------- fields in this variant
[INFO] [stderr] 141 |         cripto: Criptomoneda,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 142 |         monto_cripto: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 143 |         cotizacion: f64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `blockchain`, `hash`, `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:146:9
[INFO] [stderr]     |
[INFO] [stderr] 145 |     RetiroCripto {
[INFO] [stderr]     |     ------------ fields in this variant
[INFO] [stderr] 146 |         blockchain: Blockchain,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 147 |         hash: String,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] 148 |         cripto: Criptomoneda,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 149 |         monto_cripto: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 150 |         cotizacion: f64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `blockchain`, `cripto`, `monto_cripto`, and `cotizacion` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:153:9
[INFO] [stderr]     |
[INFO] [stderr] 152 |     RecepcionCripto {
[INFO] [stderr]     |     --------------- fields in this variant
[INFO] [stderr] 153 |         blockchain: Blockchain,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 154 |         cripto: Criptomoneda,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 155 |         monto_cripto: f64,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 156 |         cotizacion: f64,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `monto` and `medio` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:159:9
[INFO] [stderr]     |
[INFO] [stderr] 158 |     RetiroFiat {
[INFO] [stderr]     |     ---------- fields in this variant
[INFO] [stderr] 159 |         monto: f64,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 160 |         medio: MedioRetiro,
[INFO] [stderr]     |         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `fecha`, `usuario`, and `tipo` are never read
[INFO] [stderr]    --> tp4/5/src/main.rs:165:5
[INFO] [stderr]     |
[INFO] [stderr] 164 | struct Transaccion {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] 165 |     fecha: Fecha,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 166 |     usuario: Usuario,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 167 |     tipo: TipoTransaccion,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> tp5/6/src/main.rs:60:16
[INFO] [stderr]    |
[INFO] [stderr] 60 |             if (bc.prefijo == prefijo) { return Some(bc); }
[INFO] [stderr]    |                ^                     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 60 -             if (bc.prefijo == prefijo) { return Some(bc); }
[INFO] [stderr] 60 +             if bc.prefijo == prefijo { return Some(bc); }
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: method `buscar_usuario` is never used
[INFO] [stderr]    --> tp5/6/src/main.rs:237:8
[INFO] [stderr]     |
[INFO] [stderr] 153 | impl Plataforma {
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 237 |     fn buscar_usuario(&mut self, dni: &str) -> Option<&mut Usuario> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tp4_5` (bin "tp4_5" test) generated 25 warnings (run `cargo fix --bin "tp4_5" -p tp4_5 --tests` to apply 14 suggestions)
[INFO] [stderr] warning: `tp5_6` (bin "tp5_6" test) generated 2 warnings (run `cargo fix --bin "tp5_6" -p tp5_6 --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/main_app-9b82ead65622357c)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tp1_1-95992cb69fc85a3f)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tp1_10-dfbc16513668ecca)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tp1_11-23822ead293f1944)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tp1_12-594cac320f59a945)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tp1_2-22b91d564c0b9f03)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[WARN] too many lines in the log, truncating it
