[INFO] cloning repository https://github.com/AgusLeger/practicasrust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AgusLeger/practicasrust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgusLeger%2Fpracticasrust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgusLeger%2Fpracticasrust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 551026c25da953230f6300cecc5ce5b07731cc59
[INFO] checking AgusLeger/practicasrust against master#36b21637e93b038453924d3c66821089e71d8baa for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgusLeger%2Fpracticasrust" "/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/AgusLeger/practicasrust
[INFO] finished tweaking git repo https://github.com/AgusLeger/practicasrust
[INFO] tweaked toml for git repo https://github.com/AgusLeger/practicasrust written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AgusLeger/practicasrust on toolchain 36b21637e93b038453924d3c66821089e71d8baa
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AgusLeger/practicasrust 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" "+36b21637e93b038453924d3c66821089e71d8baa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v2.0.101
[INFO] [stderr]   Downloaded cc v1.2.22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] af47cbabc2aeac4d3eeb4dbdebfa987e7a0d6e72a5db07bcc624d48282010bf6
[INFO] running `Command { std: "docker" "start" "-a" "af47cbabc2aeac4d3eeb4dbdebfa987e7a0d6e72a5db07bcc624d48282010bf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "af47cbabc2aeac4d3eeb4dbdebfa987e7a0d6e72a5db07bcc624d48282010bf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af47cbabc2aeac4d3eeb4dbdebfa987e7a0d6e72a5db07bcc624d48282010bf6", kill_on_drop: false }`
[INFO] [stdout] af47cbabc2aeac4d3eeb4dbdebfa987e7a0d6e72a5db07bcc624d48282010bf6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+36b21637e93b038453924d3c66821089e71d8baa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 444c2460c43c2af7a75264425336def758cf8ab2f000c3d023f19db00b8bb443
[INFO] running `Command { std: "docker" "start" "-a" "444c2460c43c2af7a75264425336def758cf8ab2f000c3d023f19db00b8bb443", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking practicasrust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DateTime`, `Days`, `Month`, `TimeDelta`, `Timelike`, and `Utc`
[INFO] [stdout]  --> src/tp03/Ejercicio3.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Days, Duration, Month, NaiveDate, TimeDelta, Datelike, Timelike, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^            ^^^^^             ^^^^^^^^^            ^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Date`, `Duration`, and `Utc`
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 | use chrono::{Date, DateTime, Datelike, Duration, NaiveDate, Utc, Local};
[INFO] [stdout]    |              ^^^^  ^^^^^^^^            ^^^^^^^^             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Days`, `Month`, `TimeDelta`, `Timelike`, and `Utc`
[INFO] [stdout]  --> src/tp03/Ejercicio3.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chrono::{DateTime, Days, Duration, Month, NaiveDate, TimeDelta, Datelike, Timelike, Utc};
[INFO] [stdout]   |              ^^^^^^^^  ^^^^            ^^^^^             ^^^^^^^^^            ^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime`, `Date`, `Duration`, and `Utc`
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 | use chrono::{Date, DateTime, Datelike, Duration, NaiveDate, Utc, Local};
[INFO] [stdout]    |              ^^^^  ^^^^^^^^            ^^^^^^^^             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Estudiante`
[INFO] [stdout]  --> src/tp03/tests.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::tp03::Ejercicio6::{Estudiante, Examen};
[INFO] [stdout]   |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 | use chrono::{Date, DateTime, Datelike, Duration, NaiveDate, Utc, Local};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated struct `chrono::Date`: Use `NaiveDate` or `DateTime<Tz>` instead
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 | use chrono::{Date, DateTime, Datelike, Duration, NaiveDate, Utc, Local};
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:60:47
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut fecha: NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes as u32, self.dia as u32);
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut fecha: NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes as u32, self.dia as u32);
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:76:46
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mifecha : NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes, self.dia);
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:77:45
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let laotra : NaiveDate = NaiveDate::from_ymd(otra_fecha.anio as i32, otra_fecha.mes, otra_fecha.dia);
[INFO] [stdout]    |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:60:47
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut fecha: NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes as u32, self.dia as u32);
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:68:47
[INFO] [stdout]    |
[INFO] [stdout] 68 |         let mut fecha: NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes as u32, self.dia as u32);
[INFO] [stdout]    |                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:76:46
[INFO] [stdout]    |
[INFO] [stdout] 76 |         let mifecha : NaiveDate = NaiveDate::from_ymd(self.anio as i32, self.mes, self.dia);
[INFO] [stdout]    |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDate::from_ymd`: use `from_ymd_opt()` instead
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:77:45
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let laotra : NaiveDate = NaiveDate::from_ymd(otra_fecha.anio as i32, otra_fecha.mes, otra_fecha.dia);
[INFO] [stdout]    |                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp03/Ejercicio10.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut fecha_actual : Fecha = Fecha::new(now.day(), now.month(), now.year() as u32);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Persona` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio1.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Persona 
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `to_string`, `obtener_edad`, and `actualizar_direccion` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio1.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl Persona
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 9  | {
[INFO] [stdout] 10 |     pub fn new(nombre: String, edad : u8, direccion : Option<String>) -> Persona
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn to_string(&self) -> String
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn obtener_edad(&self) -> u8
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn actualizar_direccion(&mut self, dir : String)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangulo` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio2.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Rectangulo
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calcular_area`, `calcular_perimetro`, and `es_cuadrado` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio2.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 6  | impl Rectangulo
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 7  | {
[INFO] [stdout] 8  |     pub fn new(longitud : u32, ancho : u32) -> Rectangulo
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn calcular_area(&self) -> u32
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn calcular_perimetro(&self) -> u32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn es_cuadrado(&self) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fecha` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio3.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Fecha
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/tp03/Ejercicio3.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Fecha
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 10 | {
[INFO] [stdout] 11 |     pub fn new(dia :u32, mes :u32, anio :u32) -> Fecha
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn es_fecha_valida(&self) -> bool           //USANDO NAIVE POR CLASE, EL FROM_YMD_OPT y el .is_some() DEVUELVE UN TRUE SI ES ALGO...
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn es_bisiesto(&self) -> bool       //Puede ingresar un 0, ¿panic?
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn sumar_dias(&mut self, dias : u32)
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn restar_dias(&mut self, dias : u32)
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn es_mayor(&self, otra_fecha : &Fecha) -> bool
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn comparar_fecha(&self, otra_fecha : &Fecha) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Tipo` is never used
[INFO] [stdout]  --> src/tp03/Ejercicio4.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Tipo
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangulo` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio4.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Triangulo
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `determinar_tipo`, `calcular_area`, and `calcular_perimetro` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio4.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Triangulo
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 15 | {
[INFO] [stdout] 16 |     pub fn new(lado0: f32, lado1: f32, lado2 : f32) -> Triangulo
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn determinar_tipo(&mut self)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn calcular_area(&self) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn calcular_perimetro(&self) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio5.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Producto
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `calcular_impuestos`, `aplicar_descuento`, and `calcular_precio_total` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio5.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl Producto  
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 8  | {
[INFO] [stdout] 9  |     pub fn new(nombre : String, precio_bruto : f32, numero : u32) -> Producto
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn calcular_impuestos(&self ,impuestos : f32) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn aplicar_descuento(&self, descuento : f32) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn calcular_precio_total(&self, impuestos : Option<f32>, descuento : Option<f32>) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Examen` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio6.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Examen
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Estudiante` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio6.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Estudiante
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio6.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Examen
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 17 | {
[INFO] [stdout] 18 |     pub fn new(materia : String, nota : f32) -> Examen
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `obtener_promedio`, `obtener_calificacion_mas_alta`, and `obtener_calificacion_mas_baja` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio6.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Estudiante
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 | {
[INFO] [stdout] 29 |     pub fn new(nombre : String, id : u32) -> Estudiante
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn obtener_promedio(&self) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn obtener_calificacion_mas_alta(&self) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn obtener_calificacion_mas_baja(&self) -> f32
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Color` is never used
[INFO] [stdout]  --> src/tp03/Ejercicio7.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Color
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Auto` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio7.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Auto
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConcesionarioAuto` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio7.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ConcesionarioAuto
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `agregar_auto`, `eliminar_auto`, and `buscar_auto` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio7.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl ConcesionarioAuto
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 31 | {
[INFO] [stdout] 32 |     pub fn new(nombre : String, direccion : String, cap_max : u32) -> ConcesionarioAuto
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn agregar_auto(&mut self,auto : &Auto) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn eliminar_auto(&mut self, auto : &Auto)
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn buscar_auto(&self, auto : &Auto) -> Option<Auto>
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `color_string`, `comparar_autos`, and `calcular_precio` are never used
[INFO] [stdout]    --> src/tp03/Ejercicio7.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout] 76  | impl Auto
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 77  | {
[INFO] [stdout] 78  |     pub fn new(marca : String, modelo : String, anio : u32, precio_bruto : f32, color : Color) -> Auto
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn color_string(&self) -> String
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn comparar_autos(&self, auto : &Auto) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn calcular_precio(auto : &Auto) -> f32
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]  --> src/tp03/Ejercicio8.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Genero
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cancion` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio8.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Cancion
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio8.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Playlist
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `g_str` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio8.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Genero
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 25 | {
[INFO] [stdout] 26 |     pub fn g_str(&self) -> String
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `comparar_cancion` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio8.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Cancion
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 39 | {
[INFO] [stdout] 40 |     pub fn comparar_cancion(&self, song : &Cancion) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp03/Ejercicio8.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout] 45  | impl Playlist               //sin news
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 46  | {
[INFO] [stdout] 47  |     pub fn new(nombre : String) -> Playlist
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55  |     pub fn agregar_cancion(&mut self, song : Cancion)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59  |     pub fn eliminar_cancion(&mut self, song : Cancion)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70  |     pub fn mover_cancion(&mut self, pos1 : u32, pos2 : u32)
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |     pub fn buscar_cancion_nombre(&self, titulo : String) -> Option<Cancion>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |     pub fn playlist_genero(&self, gene : &Genero) -> Vec<Cancion>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97  |     pub fn playlist_artista(&self, art : String) -> Vec<Cancion>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn borrar_lista(&mut self)
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Duenio` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio9.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Duenio
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Animal` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Animal
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mascota` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Mascota
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Veterinaria` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Veterinaria
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Atencion` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Atencion 
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `comparar_atencion` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Atencion
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 45 | {
[INFO] [stdout] 46 |     pub fn new(mascota : Mascota, diagnostico : String, tratamiento : String, fecha:Fecha) -> Atencion
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn comparar_atencion(&self, ate : &Atencion) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Duenio
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 65 | {
[INFO] [stdout] 66 |     pub fn new(nombre : String, direccion : String, telefono : u32) -> Duenio
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `animal_strng`, `comparar_duenio`, and `comparar_mascota` are never used
[INFO] [stdout]    --> src/tp03/Ejercicio9.rs:79:12
[INFO] [stdout]     |
[INFO] [stdout] 77  | impl Mascota
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 78  | {
[INFO] [stdout] 79  |     pub fn new(nombre : String, edad : u8, animal : Animal, duenio : &Duenio) -> Mascota
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |     pub fn animal_strng(&self) -> String  //(perro, gato, caballo, otros)
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn comparar_duenio(&self, masc : &Mascota) -> bool //nombre direccion telef
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn comparar_mascota(&self, masc : &Mascota) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp03/Ejercicio9.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl Veterinaria
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 113 | {
[INFO] [stdout] 114 |     pub fn new(nombre : String, direccion : String, id : u32) -> Veterinaria 
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn add_mascota(&mut self, masc : &Mascota)
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn add_mascota_importante(&mut self, masc : &Mascota)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn atender_next_mascota(&mut self)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn eliminar_mascota(&mut self, masc : &Mascota)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn registrar_atencion(&mut self, ate: &Atencion)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn buscar_atencion(&self, nom_mascota : String, nom_dueño : String, telefono: u32) -> Option<Mascota>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn modificar_diagnostico_atencion(&mut self, diag : String, ate : &Atencion)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |    pub fn modificar_fecha_prox_visita(&mut self, fecha : &Fecha, ate : &Atencion)
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn eliminar_atencion(&mut self, ate : &Atencion)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Estado` is never used
[INFO] [stdout]  --> src/tp03/Ejercicio10.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Estado //Consejo del más allá Método Buscar Prestamo
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio10.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Biblioteca
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Genero
[INFO] [stdout]    |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Libro
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Prestamo
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct Cliente
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `comparar_cliente` and `est_str` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Prestamo
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 58 | {
[INFO] [stdout] 59 |     pub fn comparar_cliente(&self, cliente : &Cliente) -> bool
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn est_str(&self) -> String
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `gen_str`, and `comparar_libros` are never used
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl Libro
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 75 | {
[INFO] [stdout] 76 |     pub fn new(isbn : u32, titulo : String, autor : String, cant_paginas : u32, genero : Genero) -> Libro
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn gen_str(&self) -> String
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn comparar_libros(&self, lib : &Libro) ->bool
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp03/Ejercicio10.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Biblioteca
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 106 | {
[INFO] [stdout] 107 |     pub fn new(nombre : String, direccion : String) -> Biblioteca
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn copias_disponibles(&self, libro : &Libro) -> u32
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn restar_una_copia(&mut self, lib : &Libro) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn sumar_una_copia(&mut self, lib : &Libro)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn prestamos_a_devolver_cliente(&self, cliente : &Cliente) -> u32 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn realizar_prestamo(&mut self, cliente : &Cliente, libro: &Libro) ->bool
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn prestamos_a_vencer(&self, dias : u32) -> Vec<Prestamo>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn prestamos_vencidos(&self) -> Vec<Prestamo>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn buscar_prestamito(&self, librito : &Libro, cliente : &Cliente)  -> Option<Prestamo>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn devolver_libro(&mut self, librito : &Libro, cliente : &Cliente)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio1` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod Ejercicio1;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio2` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod Ejercicio2;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio3` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod Ejercicio3;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio4` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Ejercicio4;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio5` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Ejercicio5;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio6` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod Ejercicio6;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio7` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod Ejercicio7;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio8` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod Ejercicio8;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio9` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod Ejercicio9;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio10` should have a snake case name
[INFO] [stdout]   --> src/tp03/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod Ejercicio10;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio10`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tp03/Ejercicio10.rs:231:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |         let mut fecha_actual : Fecha = Fecha::new(now.day(), now.month(), now.year() as u32);
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `numero` are never read
[INFO] [stdout]  --> src/tp03/Ejercicio5.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Producto
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 2 | {
[INFO] [stdout] 3 |     pub nombre : String,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout] 4 |     pub precio_bruto : f32,
[INFO] [stdout] 5 |     pub numero : u32
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `id` are never read
[INFO] [stdout]   --> src/tp03/Ejercicio6.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 9  | pub struct Estudiante
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 10 | {
[INFO] [stdout] 11 |     pub nombre : String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 12 |     pub id : u32,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Estudiante` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VERDE` and `AMARILLO` are never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio7.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Color
[INFO] [stdout]   |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 5 |     VERDE,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 6 |     AZUL,
[INFO] [stdout] 7 |     AMARILLO,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Color` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direccion` is never read
[INFO] [stdout]   --> src/tp03/Ejercicio7.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ConcesionarioAuto
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub direccion : String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConcesionarioAuto` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `JAZZ` and `OTROS` are never constructed
[INFO] [stdout]  --> src/tp03/Ejercicio8.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Genero
[INFO] [stdout]   |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     JAZZ,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 8 |     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] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Caballo` and `Otros` are never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Animal
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Caballo,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     Otros
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Animal` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `direccion`, and `id` are never read
[INFO] [stdout]   --> src/tp03/Ejercicio9.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct Veterinaria
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 28 | {
[INFO] [stdout] 29 |     pub nombre : String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 30 |     pub direccion : String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 31 |     pub id : u32,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Veterinaria` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `direccion` is never read
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub struct Biblioteca
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub direccion : String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Biblioteca` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Infantil` and `Tecnicos` are never constructed
[INFO] [stdout]   --> src/tp03/Ejercicio10.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Genero
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     Infantil,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     Tecnicos,
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `realizar_prestamo` is never used
[INFO] [stdout]    --> src/tp03/Ejercicio10.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Biblioteca
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn realizar_prestamo(&mut self, cliente : &Cliente, libro: &Libro) ->bool
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio1` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod Ejercicio1;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio1`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio2` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod Ejercicio2;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio3` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod Ejercicio3;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio4` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod Ejercicio4;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio5` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod Ejercicio5;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio6` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod Ejercicio6;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio7` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod Ejercicio7;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio8` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod Ejercicio8;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio9` should have a snake case name
[INFO] [stdout]  --> src/tp03/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod Ejercicio9;
[INFO] [stdout]   |         ^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Ejercicio10` should have a snake case name
[INFO] [stdout]   --> src/tp03/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub mod Ejercicio10;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `ejercicio10`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.27s
[INFO] running `Command { std: "docker" "inspect" "444c2460c43c2af7a75264425336def758cf8ab2f000c3d023f19db00b8bb443", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "444c2460c43c2af7a75264425336def758cf8ab2f000c3d023f19db00b8bb443", kill_on_drop: false }`
[INFO] [stdout] 444c2460c43c2af7a75264425336def758cf8ab2f000c3d023f19db00b8bb443
