[INFO] cloning repository https://github.com/Nack34/Seminario_Rust-2023
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Nack34/Seminario_Rust-2023" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNack34%2FSeminario_Rust-2023", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNack34%2FSeminario_Rust-2023'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9b684ff48338b74c859171409de3419c7c4924be
[INFO] testing Nack34/Seminario_Rust-2023 against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNack34%2FSeminario_Rust-2023" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  61% (1318/2128)
Updating files:  62% (1320/2128)
Updating files:  63% (1341/2128)
Updating files:  64% (1362/2128)
Updating files:  65% (1384/2128)
Updating files:  66% (1405/2128)
Updating files:  67% (1426/2128)
Updating files:  68% (1448/2128)
Updating files:  69% (1469/2128)
Updating files:  70% (1490/2128)
Updating files:  71% (1511/2128)
Updating files:  72% (1533/2128)
Updating files:  73% (1554/2128)
Updating files:  74% (1575/2128)
Updating files:  74% (1594/2128)
Updating files:  75% (1596/2128)
Updating files:  76% (1618/2128)
Updating files:  77% (1639/2128)
Updating files:  77% (1647/2128)
Updating files:  78% (1660/2128)
Updating files:  79% (1682/2128)
Updating files:  80% (1703/2128)
Updating files:  81% (1724/2128)
Updating files:  81% (1737/2128)
Updating files:  82% (1745/2128)
Updating files:  83% (1767/2128)
Updating files:  84% (1788/2128)
Updating files:  84% (1796/2128)
Updating files:  85% (1809/2128)
Updating files:  86% (1831/2128)
Updating files:  87% (1852/2128)
Updating files:  88% (1873/2128)
Updating files:  89% (1894/2128)
Updating files:  89% (1905/2128)
Updating files:  90% (1916/2128)
Updating files:  91% (1937/2128)
Updating files:  92% (1958/2128)
Updating files:  93% (1980/2128)
Updating files:  94% (2001/2128)
Updating files:  95% (2022/2128)
Updating files:  96% (2043/2128)
Updating files:  97% (2065/2128)
Updating files:  98% (2086/2128)
Updating files:  99% (2107/2128)
Updating files: 100% (2128/2128)
Updating files: 100% (2128/2128), done.
[INFO] validating manifest of git repo https://github.com/Nack34/Seminario_Rust-2023 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Nack34/Seminario_Rust-2023
[INFO] finished tweaking git repo https://github.com/Nack34/Seminario_Rust-2023
[INFO] tweaked toml for git repo https://github.com/Nack34/Seminario_Rust-2023 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Nack34/Seminario_Rust-2023 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.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded faux_macros v0.1.9
[INFO] [stderr]   Downloaded random-number-macro-impl v0.1.7
[INFO] [stderr]   Downloaded random-number v0.1.8
[INFO] [stderr]   Downloaded llvm_profparser v0.3.3
[INFO] [stderr]   Downloaded faux v0.1.9
[INFO] [stderr]   Downloaded rustix v0.36.14
[INFO] [stderr]   Downloaded curl-sys v0.4.63+curl-8.1.2
[INFO] [stderr]   Downloaded cargo-tarpaulin v0.25.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 64e339e475098f8c4baa872da6f245e8c80552ce2716b01ac0feedb95e0f382a
[INFO] running `Command { std: "docker" "start" "-a" "64e339e475098f8c4baa872da6f245e8c80552ce2716b01ac0feedb95e0f382a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "64e339e475098f8c4baa872da6f245e8c80552ce2716b01ac0feedb95e0f382a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64e339e475098f8c4baa872da6f245e8c80552ce2716b01ac0feedb95e0f382a", kill_on_drop: false }`
[INFO] [stdout] 64e339e475098f8c4baa872da6f245e8c80552ce2716b01ac0feedb95e0f382a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4212a7e5916bf13c989e6be56c170ecd9de5fa81ef7880136e947bf67fc3cabb
[INFO] running `Command { std: "docker" "start" "-a" "4212a7e5916bf13c989e6be56c170ecd9de5fa81ef7880136e947bf67fc3cabb", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling serde v1.0.164
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling crc32fast v1.3.2
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling log v0.4.18
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.6.0
[INFO] [stderr]    Compiling tracing-core v0.1.31
[INFO] [stderr]    Compiling indexmap v1.8.2
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling flate2 v1.0.26
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling unicode-normalization v0.1.22
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling percent-encoding v2.3.0
[INFO] [stderr]    Compiling rustix v0.36.14
[INFO] [stderr]    Compiling openssl-probe v0.1.5
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling camino v1.1.4
[INFO] [stderr]    Compiling unicode-bidi v0.3.13
[INFO] [stderr]    Compiling pin-project-lite v0.2.9
[INFO] [stderr]    Compiling anyhow v1.0.71
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling libz-sys v1.1.9
[INFO] [stderr]    Compiling openssl-sys v0.9.88
[INFO] [stderr]    Compiling libssh2-sys v0.3.0
[INFO] [stderr]    Compiling curl-sys v0.4.63+curl-8.1.2
[INFO] [stderr]    Compiling libgit2-sys v0.15.2+1.6.4
[INFO] [stderr]    Compiling curl v0.4.44
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.0
[INFO] [stderr]    Compiling chrono v0.4.26
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling gzip-header v0.3.0
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling rustversion v1.0.12
[INFO] [stderr]    Compiling regex-syntax v0.7.2
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling paste v1.0.12
[INFO] [stderr]    Compiling procfs v0.15.1
[INFO] [stderr]    Compiling llvm_profparser v0.3.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling serde_derive v1.0.164
[INFO] [stderr]    Compiling tracing-attributes v0.1.24
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling regex v1.8.4
[INFO] [stderr]    Compiling cargo-tarpaulin v0.25.2
[INFO] [stderr]    Compiling url v2.4.0
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling object v0.26.2
[INFO] [stderr]    Compiling thread_local v1.1.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling leb128 v0.2.5
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling random-number-macro-impl v0.1.7
[INFO] [stderr]    Compiling nix v0.26.2
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]    Compiling faux_macros v0.1.9
[INFO] [stderr]    Compiling object v0.30.4
[INFO] [stderr]    Compiling quick-xml v0.28.2
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling faux v0.1.9
[INFO] [stderr]    Compiling random-number v0.1.8
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling cargo-platform v0.1.2
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling cargo_metadata v0.15.4
[INFO] [stderr]    Compiling coveralls-api v0.5.0
[INFO] [stderr]    Compiling git2 v0.17.2
[INFO] [stderr]    Compiling Seminario_Rust-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tp3::Auto`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tp3::Auto;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `chequear_es_primo` should have an upper camel case name
[INFO] [stdout]  --> src/tp4.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait chequear_es_primo {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ChequearEsPrimo`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash`, `Hasher`
[INFO] [stdout]   --> src/tp5.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::hash::{Hash, Hasher};
[INFO] [stdout]    |                 ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/tp5.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/tp5.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tp3::Fecha`
[INFO] [stdout]   --> src/tp5.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::tp3::Fecha;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Balance`, `Balances`, `BlockChain`, `Criptomoneda`, `DatosDeUsuarioEnLaPlataforma`, `Medio`, `Plataforma`, `Transaccion`, `Transacciones`, `User`
[INFO] [stdout]   --> src/tp5.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::tp4::{Plataforma,User,Criptomoneda,BlockChain,DatosDeUsuarioEnLaPlataforma,Balance,Balances,Transaccion,Transacciones,Medio};
[INFO] [stdout]    |                  ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]  --> src/ricciardi_nicolas_e3.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/ricciardi_nicolas_e3.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `libro`
[INFO] [stdout]    --> src/tp3.rs:886:47
[INFO] [stdout]     |
[INFO] [stdout] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_libro`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_data`
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:959:57
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn cargar_data(data:&mut HashMap<u32, Balance>, new_data:HashMap<u32, Balance>){
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_str` is never used
[INFO] [stdout]  --> src/teclado.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ingresar_str<'a>(buf: &'a mut  String) -> &'a str {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_string` is never used
[INFO] [stdout]   --> src/teclado.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ingresar_string() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_nro_i32` is never used
[INFO] [stdout]   --> src/teclado.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn ingresar_nro_i32() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_bool` is never used
[INFO] [stdout]   --> src/teclado.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn ingresar_bool() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej1` is never used
[INFO] [stdout]  --> src/tp1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn ej1() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej2` is never used
[INFO] [stdout]   --> src/tp1.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn ej2(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej3` is never used
[INFO] [stdout]   --> src/tp1.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn ej3(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej4` is never used
[INFO] [stdout]   --> src/tp1.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn ej4(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej5` is never used
[INFO] [stdout]   --> src/tp1.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn ej5(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej6` is never used
[INFO] [stdout]   --> src/tp1.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn ej6(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej7` is never used
[INFO] [stdout]   --> src/tp1.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn ej7(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej8` is never used
[INFO] [stdout]   --> src/tp1.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn ej8(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej9` is never used
[INFO] [stdout]    --> src/tp1.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn ej9(){
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej10` is never used
[INFO] [stdout]    --> src/tp1.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn ej10(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej11` is never used
[INFO] [stdout]    --> src/tp1.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn ej11(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej12` is never used
[INFO] [stdout]    --> src/tp1.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn ej12(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `es_par` is never used
[INFO] [stdout]  --> src/tp2.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn es_par(num:i32) -> bool {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `es_primo` is never used
[INFO] [stdout]  --> src/tp2.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn es_primo(num:i32) -> bool{        
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej3` is never used
[INFO] [stdout]   --> src/tp2.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const N_ej3:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `suma_pares` is never used
[INFO] [stdout]   --> src/tp2.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn suma_pares(array:[i32;N_ej3]) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej4` is never used
[INFO] [stdout]   --> src/tp2.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const N_ej4:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_impares` is never used
[INFO] [stdout]   --> src/tp2.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn cantidad_impares(array:[i32;N_ej4]) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej5` is never used
[INFO] [stdout]   --> src/tp2.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const N_ej5:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicar_valores` is never used
[INFO] [stdout]   --> src/tp2.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn duplicar_valores(array:[f32;N_ej5]) -> [f32;N_ej5] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej6` is never used
[INFO] [stdout]   --> src/tp2.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const N_ej6:usize = 5;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longitud_de_cadenas` is never used
[INFO] [stdout]   --> src/tp2.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn longitud_de_cadenas(array:[String;N_ej6]) -> [i32;N_ej6] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej7` is never used
[INFO] [stdout]   --> src/tp2.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const N_ej7:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_de_mayores` is never used
[INFO] [stdout]   --> src/tp2.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn cantidad_de_mayores(array:[i32;N_ej7],limite:i32) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej8` is never used
[INFO] [stdout]   --> src/tp2.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const N_ej8:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sumar_arreglos` is never used
[INFO] [stdout]   --> src/tp2.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn sumar_arreglos(array1:[f32;N_ej8],array2:[f32;N_ej8]) -> [f32;N_ej8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej9` is never used
[INFO] [stdout]    --> src/tp2.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const N_ej9:usize = 4;
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_en_rango` is never used
[INFO] [stdout]    --> src/tp2.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn cantidad_en_rango(array:[i32;N_ej9],inferior:i32,superior:i32) -> i32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej10` is never used
[INFO] [stdout]    --> src/tp2.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const N_ej10:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_de_cadenas_mayor_a` is never used
[INFO] [stdout]    --> src/tp2.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn cantidad_de_cadenas_mayor_a(array:[String;N_ej10],limite:i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej11` is never used
[INFO] [stdout]    --> src/tp2.rs:135:11
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub const N_ej11:usize = 4;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiplicar_valores` is never used
[INFO] [stdout]    --> src/tp2.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn multiplicar_valores(mut array:[i32;N_ej11], factor:i32) -> [i32;N_ej11]{    
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej12` is never used
[INFO] [stdout]    --> src/tp2.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const N_ej12:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reemplazar_pares` is never used
[INFO] [stdout]    --> src/tp2.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn reemplazar_pares(mut array:[i32;N_ej12]) -> [i32;N_ej12]{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej13` is never used
[INFO] [stdout]    --> src/tp2.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const N_ej13:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ordenar_nombres` is never used
[INFO] [stdout]    --> src/tp2.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn ordenar_nombres(mut array:[String;N_ej13]) -> [String;N_ej13] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incrementar` is never used
[INFO] [stdout]    --> src/tp2.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn incrementar(num: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej1` is never used
[INFO] [stdout]  --> src/test_tp2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn test_ej1(){
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej2` is never used
[INFO] [stdout]  --> src/test_tp2.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn test_ej2(){
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej3` is never used
[INFO] [stdout]   --> src/test_tp2.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn test_ej3(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej4` is never used
[INFO] [stdout]   --> src/test_tp2.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn test_ej4(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej5` is never used
[INFO] [stdout]   --> src/test_tp2.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn test_ej5(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej6` is never used
[INFO] [stdout]   --> src/test_tp2.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn test_ej6(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej7` is never used
[INFO] [stdout]   --> src/test_tp2.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn test_ej7(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej8` is never used
[INFO] [stdout]   --> src/test_tp2.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn test_ej8(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej9` is never used
[INFO] [stdout]   --> src/test_tp2.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn test_ej9(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej10` is never used
[INFO] [stdout]   --> src/test_tp2.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn test_ej10(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej11` is never used
[INFO] [stdout]   --> src/test_tp2.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn test_ej11(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej12` is never used
[INFO] [stdout]   --> src/test_tp2.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn test_ej12(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej13` is never used
[INFO] [stdout]    --> src/test_tp2.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn test_ej13(){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej14` is never used
[INFO] [stdout]    --> src/test_tp2.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn test_ej14(){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Persona` is never constructed
[INFO] [stdout]   --> src/tp3.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Persona{
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `imprimir`, `obtener_edad`, and `actualizar_direccion` are never used
[INFO] [stdout]   --> src/tp3.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Persona{
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 16 |     pub fn new (nombre: String, direccion: Option<String>, edad: i32) -> Persona{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn imprimir(&self){
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn obtener_edad(&self) -> i32{
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn actualizar_direccion(&mut self, nueva_direccion:Option<String>){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangulo` is never constructed
[INFO] [stdout]   --> src/tp3.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | 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/tp3.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Rectangulo{
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 49 |     pub fn new (longitud: f32, ancho: f32) -> Rectangulo{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn calcular_area(&self) -> f32{
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn es_cuadrado(&mut self) -> bool{
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stdout]   --> src/tp3.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fecha{    
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 75 |     dia: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 76 |     mes: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 77 |     anio: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fecha` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 80  |     pub fn new (dia: u32, mes: u32, anio: u32) -> Fecha{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn es_bisiesto(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn es_dia_valido(&self, dia_max:u32) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn es_mes_valido(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92  |     pub fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn max_dia(&self,mes:u32) -> u32{ // lo que entra TIENE que ser SI O SI un mes valido
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn sumar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn restar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn chequear_carry(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn chequear_borrow(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn es_mayor(&self, una_fecha:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn es_igual(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn es_proxima(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn diferencencia_de_meses(&self, otro:&Self) -> u32{ // PRECONDICION --> otro > self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn cantidad_de_meses(&self) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangulo` is never constructed
[INFO] [stdout]    --> src/tp3.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct Triangulo{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Triangulo{
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 173 |     pub fn new (l1: f32, l2: f32, l3: f32,) -> Triangulo{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn soy_valido(&self) ->bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn determinar_tipo(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn calcular_area(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn semiperimetro (&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn altura(&self) -> f32 { 
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | 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/tp3.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl Producto{
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 238 |     pub fn new (nombre: String, precio_bruto: f32, numero_identificatorio: i32) -> Producto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn calcular_impuestos(&self, porcentaje_de_impuestos:f32) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn aplicar_descuento(&self, porcentaje_de_descuento:f32) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn calcular_precio_total(&self, porcentaje_de_impuestos:Option<f32>, porcentaje_de_descuento:Option<f32>) -> f32{ 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Examen` is never constructed
[INFO] [stdout]    --> src/tp3.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Examen{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:275:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Examen{
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 275 |     pub fn new (nombre_materia: String, nota: f32) -> Examen{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Estudiante` is never constructed
[INFO] [stdout]    --> src/tp3.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct Estudiante{
[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/tp3.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl Estudiante{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 285 |     pub fn new (nombre: String, examenes: LinkedList<Examen>, nro_id: i32) -> Estudiante{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn obtener_promedio(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn obtener_calificacion_mas_alta(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn obtener_calificacion_mas_baja(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConcesionarioAuto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:337:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | 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/tp3.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl ConcesionarioAuto{
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 345 |     pub fn new (nombre: String, direccion: String, capacidad_maxima_autos:u32, autos:Vec<Auto>) -> ConcesionarioAuto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn agregar_auto(&mut self,auto:Auto) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn eliminar_auto(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn buscar_auto(&self, auto:&Auto) -> Option<&Auto>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rojo`, `Verde`, `Azul`, `Amarillo`, `Blanco`, and `Negro` are never constructed
[INFO] [stdout]    --> src/tp3.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum Color{
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 372 |     Rojo, Verde, Azul, Amarillo, Blanco, Negro
[INFO] [stdout]     |     ^^^^  ^^^^^  ^^^^  ^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `marca`, `modelo`, `anio`, `precio_bruto`, and `color` are never read
[INFO] [stdout]    --> src/tp3.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct Auto{ 
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 376 |     marca: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 377 |     modelo: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 378 |     anio: i32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 379 |     precio_bruto: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 380 |     color: Color,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Auto` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl Auto{ 
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 384 |     pub fn new (marca: String,  modelo: String, anio: i32, precio_bruto: f32, color: Color) -> Auto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn calcular_precio(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn es_de_color_primario(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn anio_menor_2000(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn es_igual(&self, otro:&Self) ->bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn es_color_rojo(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn es_color_amarillo(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn es_color_azul(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> src/tp3.rs:442:10
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub enum Genero{
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cancion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct Cancion{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | impl Cancion {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 451 |     pub fn new(titulo:String, artista:String, genero:Genero) -> Cancion {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub fn tiene_genero_igual(&self, genero:&Genero) ->bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn es_rock(genero:&Genero) ->bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 469 |     pub fn es_rap(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn es_pop(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn es_jazz(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn es_otros(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]    --> src/tp3.rs:495:12
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct Playlist{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 499 | impl Playlist {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 500 |     pub fn new(nombre:String, canciones:Vec<Cancion>) -> Playlist {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn agregar_cancion (&mut self,cancion:Cancion){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn eliminar_cancion (&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub fn mover_cancion (&mut self,index:usize,cancion:Cancion){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     pub fn buscar_cancion (&self,titulo:String) -> Option<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn canciones_genero (&self,genero:Genero) -> Vec<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub fn canciones_artista (&self,artista:String) -> Vec<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     pub fn modificar_nombre (&mut self, nombre:String){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn nueva_playlist (&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Duenio` is never constructed
[INFO] [stdout]    --> src/tp3.rs:570:12
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub struct Duenio{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl Duenio {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 576 |     pub fn new( nombre:String, direccion:String, teléfono:u32) -> Duenio {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Animal` is never used
[INFO] [stdout]    --> src/tp3.rs:580:10
[INFO] [stdout]     |
[INFO] [stdout] 580 | pub enum Animal {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mascota` is never constructed
[INFO] [stdout]    --> src/tp3.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub struct Mascota<'a>{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl <'a> Mascota <'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 590 |     pub fn new( nombre:String, edad:u32, tipo_de_animal:Animal, duenio:&'a Duenio) -> Mascota<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     pub fn es_igual(&self, otro:&Self)-> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     pub fn animal_igual(animal:&Animal,otro_animal:&Animal)-> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub fn es_perro(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     pub fn es_otros(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn es_gato(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn es_caballo(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AtencionRealizada` is never constructed
[INFO] [stdout]    --> src/tp3.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 | pub struct AtencionRealizada<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `soy_yo`, and `modificar_fecha` are never used
[INFO] [stdout]    --> src/tp3.rs:636:12
[INFO] [stdout]     |
[INFO] [stdout] 635 | impl <'a>AtencionRealizada <'a>{
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 636 |     pub fn new( mascota:&'a Mascota<'a>, diagnostico_final:String, tratamiento:String, fecha_proxima_visita:Option<Fecha>) -> AtencionRea...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn soy_yo(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn modificar_fecha(&mut self, fecha_proxima_visita:Option<Fecha>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Veterinaria` is never constructed
[INFO] [stdout]    --> src/tp3.rs:650:12
[INFO] [stdout]     |
[INFO] [stdout] 650 | pub struct Veterinaria<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:658:12
[INFO] [stdout]     |
[INFO] [stdout] 657 | impl <'a>Veterinaria<'a> {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 658 |     pub fn new( nombre:String, direccion:String, id:i32, proximas_atenciones:VecDeque<&'a Mascota<'a>>, registro_atenciones:LinkedList<&'...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub fn agregar_mascota_al_final(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub fn agregar_mascota_al_inicio(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn atender_mascota(&mut self) -> &'a Mascota<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn eliminar_mascota(&mut self, mascota: &'a Mascota<'a>)  {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub fn mascota_atendida(&mut self, atencion_realizada:  &'a AtencionRealizada<'a>){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 685 |     pub fn buscar_atencion(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> &'a AtencionRealizada<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     pub fn modificar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 706 |     pub fn eliminar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn emails_a_enviar(&self, fecha_de_hoy: Fecha, dias: u8) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> src/tp3.rs:785:12
[INFO] [stdout]     |
[INFO] [stdout] 785 | pub struct Biblioteca<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrosADisposicion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:791:12
[INFO] [stdout]     |
[INFO] [stdout] 791 | pub struct LibrosADisposicion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibroADisposicion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:794:12
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub struct LibroADisposicion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Novela`, `Infantil`, `Tecnico`, and `Otros` are never constructed
[INFO] [stdout]    --> src/tp3.rs:799:25
[INFO] [stdout]     |
[INFO] [stdout] 799 | pub enum GeneroDeLibro{ Novela, Infantil, Tecnico, Otros }
[INFO] [stdout]     |          -------------  ^^^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variants in this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]    --> src/tp3.rs:800:12
[INFO] [stdout]     |
[INFO] [stdout] 800 | pub struct Libro{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrestamosEfectuados` is never constructed
[INFO] [stdout]    --> src/tp3.rs:806:12
[INFO] [stdout]     |
[INFO] [stdout] 806 | pub struct PrestamosEfectuados<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Devuelto` and `EnPrestamo` are never constructed
[INFO] [stdout]    --> src/tp3.rs:810:17
[INFO] [stdout]     |
[INFO] [stdout] 810 | pub enum Estado{Devuelto, EnPrestamo}
[INFO] [stdout]     |          ------ ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variants in this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> src/tp3.rs:811:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub struct Prestamo<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> src/tp3.rs:818:12
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub struct Cliente{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:826:12
[INFO] [stdout]     |
[INFO] [stdout] 825 | impl <'a> Biblioteca<'a>{
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 826 |     pub fn new ( nombre:String, direccion:String, libros_a_disposición:LibrosADisposicion<'a>, prestamos_efectuados:PrestamosEfectuados<'...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:831:12
[INFO] [stdout]     |
[INFO] [stdout] 830 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 831 |     pub fn new ( libros_a_disposición: Vec<LibroADisposicion<'a>>) -> LibrosADisposicion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:836:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl <'a>LibroADisposicion<'a>{
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 836 |     pub fn new ( libro:&'a Libro, cant_ejemplares:u32) -> LibroADisposicion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:841:12
[INFO] [stdout]     |
[INFO] [stdout] 840 | impl Libro{
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 841 |     pub fn new ( título:String, autor:String, nro_paginas:u32, genero:GeneroDeLibro) -> Libro{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:846:12
[INFO] [stdout]     |
[INFO] [stdout] 845 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stdout]     | -------------------------------- associated function in this implementation
[INFO] [stdout] 846 |     pub fn new ( prestamos: Vec<Prestamo<'a>>) -> PrestamosEfectuados<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:851:12
[INFO] [stdout]     |
[INFO] [stdout] 850 | impl <'a>Prestamo<'a>{
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 851 |     pub fn new ( libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>,estado:Estado) -> Prestamo...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:856:12
[INFO] [stdout]     |
[INFO] [stdout] 855 | impl Cliente{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 856 |     pub fn new ( nombre:String, telefono:String, email:String) -> Cliente{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tp3.rs:863:12
[INFO] [stdout]     |
[INFO] [stdout] 862 | impl <'a> Biblioteca<'a>{
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 863 |     pub fn buscar_libro_a_disposicion(&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub fn cant_ejemplares (&mut self, libro:&'a Libro) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 873 |     pub fn libro_prestado(&mut self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 878 |     pub fn libro_devuelto(&mut self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |     pub fn realizar_prestamos(&mut self, libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>) -...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 898 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:Fecha) -> LinkedList<&Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 901 |     pub fn prestamos_a_vencidos(&self, hoy:Fecha) -> LinkedList<&Prestamo>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 904 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 907 |     pub fn devolver_libro(&mut self, libro:&'a Libro, cliente:&'a Cliente, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buscar` is never used
[INFO] [stdout]    --> src/tp3.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 915 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] 916 |     pub fn buscar (&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_igual` is never used
[INFO] [stdout]    --> src/tp3.rs:925:12
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl Libro{
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 925 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cant_prestamos_de`, `agregar`, `prestamos_a_vencer_en_los_proximos_dias`, `prestamos_a_vencidos`, and `buscar_prestamo` are never used
[INFO] [stdout]    --> src/tp3.rs:930:12
[INFO] [stdout]     |
[INFO] [stdout] 929 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] 930 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 937 |     pub fn agregar(&mut self, prestamo:Prestamo<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947 |     pub fn prestamos_a_vencidos(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 954 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_igual`, `esta_proximo_a_vencer`, `esta_vencido`, and `registrar_devolucion` are never used
[INFO] [stdout]    --> src/tp3.rs:969:12
[INFO] [stdout]     |
[INFO] [stdout] 962 | impl <'a>Prestamo<'a>{
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     pub fn es_igual (&self, libro:&'a Libro, cliente:&'a Cliente) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 972 |     pub fn esta_proximo_a_vencer(&self, hoy:&Fecha) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 |     pub fn esta_vencido(&self, hoy:&Fecha) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 978 |     pub fn registrar_devolucion(&mut self, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_igual` is never used
[INFO] [stdout]    --> src/tp3.rs:984:12
[INFO] [stdout]     |
[INFO] [stdout] 983 | impl Cliente{
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 984 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cant_primos` is never used
[INFO] [stdout]   --> src/tp4.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn cant_primos(vector:Vec<i32>) -> u32{
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tp4.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl <'a>Persona<'a>{
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new( nombre:&'a str, apellido:&'a str, direccion:&'a str, ciudad:&'a str, salario:f64, edad:u8,)->Persona<'a>{      
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `personas_con_salario_mayor_a` is never used
[INFO] [stdout]   --> src/tp4.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn personas_con_salario_mayor_a <'a> (personas:&'a Vec<&'a Persona<'a>>, salario:f64 ) -> Vec<&'a Persona<'a>>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `personas_mayores_a_y_que_viven_en` is never used
[INFO] [stdout]   --> src/tp4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn personas_mayores_a_y_que_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>, edad:u8, ciudad:&'a str) ->Vec<&'a Persona<'a>>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `todas_las_personas_viven_en` is never used
[INFO] [stdout]   --> src/tp4.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn todas_las_personas_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&'a str) ->bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `al_menos_una_persona_vive_en` is never used
[INFO] [stdout]   --> src/tp4.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn al_menos_una_persona_vive_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&str) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_contiene` is never used
[INFO] [stdout]   --> src/tp4.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn array_contiene<'a>(personas:&'a [&'a Persona], persona:&'a Persona) -> bool{ 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_edades` is never used
[INFO] [stdout]   --> src/tp4.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn get_edades<'a, const N: usize>(personas:&'a [&'a Persona<'a>;N]) -> [u8;N]{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_personas_min_y_max_salario` is never used
[INFO] [stdout]    --> src/tp4.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn get_personas_min_y_max_salario <'a> (personas:&'a [&'a Persona<'a>]) -> PersonasMinMaxSalarios<'a>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PersonasMinMaxSalarios` is never constructed
[INFO] [stdout]    --> src/tp4.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct PersonasMinMaxSalarios <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_min` and `set_max` are never used
[INFO] [stdout]    --> src/tp4.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl <'a>PersonasMinMaxSalarios<'a> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] 118 |     pub fn set_min(&mut self, persona_min_salario:&'a Persona<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn set_max(&mut self, persona_max_salario:&'a Persona<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamingRust` is never constructed
[INFO] [stdout]    --> src/tp4.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamingRust <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subscripcion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Subscripcion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InfoDeSubscripcionRelacionadaAlUsuario` is never constructed
[INFO] [stdout]    --> src/tp4.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct InfoDeSubscripcionRelacionadaAlUsuario<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Efectivo`, `MercadoPago`, `TarjetaDeCredito`, `TransferenciaBancaria`, and `Cripto` are never constructed
[INFO] [stdout]    --> src/tp4.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum MedioDePago {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 164 |     Efectivo, MercadoPago(DataMedioDePago), TarjetaDeCredito(DataMedioDePago), TransferenciaBancaria(DataMedioDePago), Cripto(DataMedioDe...
[INFO] [stdout]     |     ^^^^^^^^  ^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stdout]    --> src/tp4.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl MedioDePago { 
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn discriminant(&self) -> usize { // https://docs.rs/enum-repr/latest/enum_repr/ // https://doc.rust-lang.org/std/mem/fn.discriminant...
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nro_de_tarjeta` is never read
[INFO] [stdout]    --> src/tp4.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct DataMedioDePago{
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 179 |     nro_de_tarjeta:u32
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataMedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InfoDeSubscripcion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct InfoDeSubscripcion{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Basic`, `Clasic`, and `Super` are never constructed
[INFO] [stdout]    --> src/tp4.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum TipoDeSubscripcion{
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 190 |     Basic, Clasic, Super
[INFO] [stdout]     |     ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TipoDeSubscripcion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stdout]    --> src/tp4.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl TipoDeSubscripcion {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 193 |     fn discriminant(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<'a> StreamingRust<'a>{
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 205 |     pub fn new()-> StreamingRust<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl Usuario{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 210 |     pub fn new (nombre:String, id:u32) -> Usuario{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl <'a>Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 215 |     pub fn new(info_propia:InfoDeSubscripcion, usuario: &'a Usuario, medio_de_pago:MedioDePago ) ->Subscripcion<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 223 |     pub fn new(tipo_de_subscripcion:TipoDeSubscripcion,costo_mensual:f64, duracion_en_meses:u32, fecha_de_inicio:Fecha )->InfoDeSubscripc...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl DataMedioDePago{
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 228 |     pub fn new(nro_de_tarjeta:u32)->DataMedioDePago{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `agregar_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl<'a> StreamingRust<'a>{
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] 236 |     // retorna true si el usuario no tenia otra subscripcion valida, false si no se pudo completar la accion
[INFO] [stdout] 237 |     pub fn agregar_subscripcion(&mut self, usuario: &'a Usuario, info_de_subscripcion:InfoDeSubscripcion, medio_de_pago:MedioDePago, hoy:...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_vencida`, `set_info`, and `set_medio_de_pago` are never used
[INFO] [stdout]    --> src/tp4.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 254 |     pub fn esta_vencida (&self, hoy:&'a Fecha)-> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn set_info(&mut self, info_propia:InfoDeSubscripcion){
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_medio_de_pago(&mut self, medio_de_pago:MedioDePago){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chequear_vencimiento` is never used
[INFO] [stdout]    --> src/tp4.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl  <'a> InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 265 |     pub fn chequear_vencimiento (&self, hoy:&'a Fecha)->bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade_subscripcion_de` is never used
[INFO] [stdout]    --> src/tp4.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 273 |     pub fn upgrade_subscripcion_de(&mut self, user: &'a Usuario){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 280 |     pub fn upgrade_subscripcion(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade` is never used
[INFO] [stdout]    --> src/tp4.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 285 |     pub fn upgrade(&mut self){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `downgrade_subscripcion_de` and `cancelar_subscripcion` are never used
[INFO] [stdout]    --> src/tp4.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 296 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] 297 |     pub fn downgrade_subscripcion_de(&mut self, user: &'a Usuario) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn cancelar_subscripcion(&mut self, user: &'a Usuario){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `downgrade_or_else_remove_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 313 |     pub fn downgrade_or_else_remove_subscripcion(&mut self) -> bool{ // returns true si tiene que ser cancelada 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_el_peor_tipo_de_subscripcion` and `downgrade` are never used
[INFO] [stdout]    --> src/tp4.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 320 |     pub fn es_el_peor_tipo_de_subscripcion(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn downgrade <'a> (&mut self){ 
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `medio_de_pago_mas_utilizado_de_subscripciones_activas` is never used
[INFO] [stdout]    --> src/tp4.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 335 |     pub fn medio_de_pago_mas_utilizado_de_subscripciones_activas(&self, hoy:Fecha) ->MedioDePago { // uso el crate strum, para un mejor m...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_medio_de_pago` is never used
[INFO] [stdout]    --> src/tp4.rs:383:12
[INFO] [stdout]     |
[INFO] [stdout] 382 | impl<'a> Subscripcion<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 383 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_medio_de_pago` is never used
[INFO] [stdout]    --> src/tp4.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<'a> InfoDeSubscripcionRelacionadaAlUsuario <'a> {
[INFO] [stdout]     | ---------------------------------------------------- method in this implementation
[INFO] [stdout] 388 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tipo_de_subscripcion_mas_contratada_de_subscripciones_activas` is never used
[INFO] [stdout]    --> src/tp4.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 396 |     pub fn tipo_de_subscripcion_mas_contratada_de_subscripciones_activas(&self, hoy:Fecha) ->TipoDeSubscripcion { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 414 | impl<'a> Subscripcion<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 415 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl InfoDeSubscripcion  {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 420 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `medio_de_pago_mas_utilizado` is never used
[INFO] [stdout]    --> src/tp4.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 428 |     pub fn medio_de_pago_mas_utilizado(&self) ->MedioDePago { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tipo_de_subscripcion_mas_contratada` is never used
[INFO] [stdout]    --> src/tp4.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 446 |     pub fn tipo_de_subscripcion_mas_contratada(&self) ->TipoDeSubscripcion { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SistemaDeVentas` is never constructed
[INFO] [stdout]    --> src/tp4.rs:475:12
[INFO] [stdout]     |
[INFO] [stdout] 475 | pub struct SistemaDeVentas<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Venta` is never constructed
[INFO] [stdout]    --> src/tp4.rs:478:12
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Venta<'a >{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]    --> src/tp4.rs:485:12
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct Producto{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Categorias` is never constructed
[INFO] [stdout]    --> src/tp4.rs:488:12
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct Categorias{ // se usa en un metodo mas adelante
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> src/tp4.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub struct Cliente{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InformacionNecesariaParaNewsletter` is never constructed
[INFO] [stdout]    --> src/tp4.rs:504:12
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct InformacionNecesariaParaNewsletter{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OpcionDePago` is never used
[INFO] [stdout]    --> src/tp4.rs:507:10
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub enum OpcionDePago{
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_ventas` are never used
[INFO] [stdout]    --> src/tp4.rs:518:12
[INFO] [stdout]     |
[INFO] [stdout] 517 | impl <'a> SistemaDeVentas<'a>{
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 518 |     pub fn new () -> SistemaDeVentas<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn set_ventas(&mut self, ventas:Vec<Venta<'a>>){
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 525 | impl <'a> Venta<'a>{
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 526 |     pub fn new(fecha:Fecha,productos_vendidos:Vec<&'a Producto>, vendedor:&'a Vendedor, cliente:&'a Cliente, medio_de_pago:OpcionDePago) ...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:531:12
[INFO] [stdout]     |
[INFO] [stdout] 530 | impl Producto{
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 531 |     pub fn new(nombre:String, categoria:String, precio_base:f32) -> Producto {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:536:12
[INFO] [stdout]     |
[INFO] [stdout] 535 | impl Categorias{
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 536 |     pub fn new() -> Categorias {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:541:12
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl DataPersona{
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 541 |     pub fn new(nombre:String, apellido:String, dirección:String, dni:String) -> DataPersona {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 545 | impl Vendedor{
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 546 |     pub fn new(data_persona:DataPersona, nro_de_legajo:u32, antigüedad:u32, salario:u32) -> Vendedor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:551:12
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl Cliente{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 551 |     pub fn new(data_persona:DataPersona, subscripcion_newsletter:Option<InformacionNecesariaParaNewsletter>) -> Cliente {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:556:12
[INFO] [stdout]     |
[INFO] [stdout] 555 | impl InformacionNecesariaParaNewsletter{
[INFO] [stdout]     | --------------------------------------- associated function in this implementation
[INFO] [stdout] 556 |     pub fn new(descuento:f32, correo:String) -> InformacionNecesariaParaNewsletter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_porcentaje_de_descuento` is never used
[INFO] [stdout]    --> src/tp4.rs:570:12
[INFO] [stdout]     |
[INFO] [stdout] 569 | impl Categorias{
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 570 |     pub fn get_porcentaje_de_descuento(&self,categoria:&String) -> Option<&f32>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calcular_precio_final` is never used
[INFO] [stdout]    --> src/tp4.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 574 | impl<'a> Venta <'a> { // 
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 575 |     pub fn calcular_precio_final(&self, categorias:Categorias) ->f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `realizar_reporte` is never used
[INFO] [stdout]    --> src/tp4.rs:587:12
[INFO] [stdout]     |
[INFO] [stdout] 586 | impl<'a> SistemaDeVentas<'a>{
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 587 |     pub fn realizar_reporte(&self) -> Visualizacion{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Visualizacion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:596:12
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub struct Visualizacion <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `agregar_venta_por_categoria_producto`, and `agregar_venta_por_vendedor` are never used
[INFO] [stdout]    --> src/tp4.rs:601:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl <'a> Visualizacion <'a>{
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 601 |     pub fn new() -> Visualizacion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub fn agregar_venta_por_categoria_producto(&mut self, categoria:String,venta:&'a Venta){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |     pub fn agregar_venta_por_vendedor(&mut self, vendedor:&'a Vendedor,venta:&'a Venta){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plataforma` is never constructed
[INFO] [stdout]    --> src/tp4.rs:636:12
[INFO] [stdout]     |
[INFO] [stdout] 636 | pub struct Plataforma<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatosDeUsuarioEnLaPlataforma` is never constructed
[INFO] [stdout]    --> src/tp4.rs:669:12
[INFO] [stdout]     |
[INFO] [stdout] 669 | pub struct DatosDeUsuarioEnLaPlataforma<'a> { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Balances` is never constructed
[INFO] [stdout]    --> src/tp4.rs:676:12
[INFO] [stdout]     |
[INFO] [stdout] 676 | pub struct Balances<'a>{ 
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `monto` is never read
[INFO] [stdout]    --> src/tp4.rs:682:5
[INFO] [stdout]     |
[INFO] [stdout] 680 | pub struct Balance<'a>{ 
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 681 |     usuario: &'a User, criptomoneda: &'a Criptomoneda<'a>,
[INFO] [stdout] 682 |     monto:f32
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Balance` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transacciones` is never constructed
[INFO] [stdout]    --> src/tp4.rs:697:12
[INFO] [stdout]     |
[INFO] [stdout] 697 | pub struct Transacciones<'a>{ 
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `IngresoDeDinero`, `CompraDeCripto`, `VentaDeCripto`, `RetiroCripto`, `RecepcionCripto`, and `RetiroFiat` are never constructed
[INFO] [stdout]    --> src/tp4.rs:702:5
[INFO] [stdout]     |
[INFO] [stdout] 701 | pub enum Transaccion<'a>{
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 702 |     IngresoDeDinero{fecha:Fecha,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 706 |     CompraDeCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     VentaDeCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     RetiroCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 726 |     RecepcionCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     RetiroFiat { fecha: Fecha,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Transaccion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MercadoPago` and `TransferenciaBancaria` are never constructed
[INFO] [stdout]    --> src/tp4.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub enum Medio{
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 741 |     MercadoPago, TransferenciaBancaria
[INFO] [stdout]     |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Medio` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:745:12
[INFO] [stdout]     |
[INFO] [stdout] 744 | impl User{
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 745 |     pub fn new(nombre: String, apellido: String, email: String, dni: u32 )->User{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:750:12
[INFO] [stdout]     |
[INFO] [stdout] 749 | impl<'a> Plataforma <'a>{
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 750 |     pub fn new(users:&'a HashSet<&'a User>, criptomonedas:HashSet<Criptomoneda<'a>>,blockchains:HashSet<BlockChain>) -> Plataforma<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:757:12
[INFO] [stdout]     |
[INFO] [stdout] 756 | impl<'a> Criptomoneda<'a>{
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 757 |     pub fn new(nombre: String, prefijo: String, blockchains_accedibles: HashSet<&'a BlockChain> ) ->Criptomoneda<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:762:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl BlockChain{
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 762 |     pub fn new(nombre: String, prefijo: String ) ->BlockChain{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:767:12
[INFO] [stdout]     |
[INFO] [stdout] 766 | impl<'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ----------------------------------------- associated function in this implementation
[INFO] [stdout] 767 |     pub fn new(usuario:&'a User) ->DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:772:12
[INFO] [stdout]     |
[INFO] [stdout] 771 | impl <'a> Balances<'a>{
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 772 |     pub fn new() -> Balances<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:777:12
[INFO] [stdout]     |
[INFO] [stdout] 776 | impl <'a> Balance <'a>{
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 777 |     pub fn new(usuario:&'a User, criptomoneda:&'a Criptomoneda, monto:f32) -> Balance<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:782:12
[INFO] [stdout]     |
[INFO] [stdout] 781 | impl <'a> Transacciones <'a>{
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 782 |     pub fn new() -> Transacciones <'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ingresar_dinero` is never used
[INFO] [stdout]    --> src/tp4.rs:799:12
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl<'a> Plataforma <'a>{
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 799 |     pub fn ingresar_dinero(&mut self, user:&'a User, monto: f32, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ingresar_dinero` and `registrar_transaccion` are never used
[INFO] [stdout]    --> src/tp4.rs:808:12
[INFO] [stdout]     |
[INFO] [stdout] 807 | impl <'a> DatosDeUsuarioEnLaPlataforma <'a>{
[INFO] [stdout]     | ------------------------------------------- methods in this implementation
[INFO] [stdout] 808 |     pub fn ingresar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub fn registrar_transaccion(&mut self, transaccion: Transaccion<'a>){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_data` and `set_data` are never used
[INFO] [stdout]    --> src/tp4.rs:824:12
[INFO] [stdout]     |
[INFO] [stdout] 823 | impl <'a> Transacciones <'a>{
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] 824 |     pub fn get_data(&self) -> Option<Vec<Transaccion<'a>>>{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     pub fn set_data(&mut self, new_data:Option<Vec<Transaccion<'a>>>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `comprar_criptomoneda` is never used
[INFO] [stdout]    --> src/tp4.rs:841:12
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl<'a> Plataforma<'a>{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 840 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 841 |     pub fn comprar_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_validado`, `tiene_al_menos`, `retirar_dinero`, and `agregar_monto_cripto` are never used
[INFO] [stdout]    --> src/tp4.rs:860:12
[INFO] [stdout]     |
[INFO] [stdout] 859 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] 860 |     pub fn esta_validado(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     pub fn tiene_al_menos(&self, monto:f32, criptomoneda:Option<&'a Criptomoneda>) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 870 |     pub fn retirar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn agregar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `insert`, and `sumar_monto_a` are never used
[INFO] [stdout]    --> src/tp4.rs:881:12
[INFO] [stdout]     |
[INFO] [stdout] 880 | impl <'a> Balances<'a>{
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 881 |     pub fn get(&self, cripto: &'a Criptomoneda) -> Option<Balance>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 887 |     pub fn insert(&mut self, cripto:&'a Criptomoneda, balance:Balance<'a>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 890 |     pub fn sumar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sumar_monto` is never used
[INFO] [stdout]    --> src/tp4.rs:900:12
[INFO] [stdout]     |
[INFO] [stdout] 899 | impl <'a> Balance <'a> {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 900 |     pub fn sumar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vender_criptomoneda` is never used
[INFO] [stdout]    --> src/tp4.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 914 | impl<'a> Plataforma<'a>{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 915 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 916 |     pub fn vender_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quitar_monto_cripto` is never used
[INFO] [stdout]    --> src/tp4.rs:935:12
[INFO] [stdout]     |
[INFO] [stdout] 934 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] 935 |     pub fn quitar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `restar_monto_a` is never used
[INFO] [stdout]    --> src/tp4.rs:942:12
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<'a> Balances<'a>{
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 942 |     pub fn restar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `restar_monto` is never used
[INFO] [stdout]    --> src/tp4.rs:951:12
[INFO] [stdout]     |
[INFO] [stdout] 950 | impl <'a> Balance <'a> { 
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 951 |     pub fn restar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_criptomoneda_a_blockchain` is never used
[INFO] [stdout]    --> src/tp4.rs:966:12
[INFO] [stdout]     |
[INFO] [stdout] 965 | impl<'a> Plataforma<'a> {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 966 |     pub fn retirar_criptomoneda_a_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]    --> src/tp4.rs:982:12
[INFO] [stdout]     |
[INFO] [stdout] 981 | impl BlockChain{ //---- WTF
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 982 |     pub fn get_hash(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recibir_criptomoneda_de_blockchain` is never used
[INFO] [stdout]    --> src/tp4.rs:993:12
[INFO] [stdout]     |
[INFO] [stdout] 992 | impl<'a> Plataforma<'a> {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 993 |     pub fn recibir_criptomoneda_de_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_fiat` is never used
[INFO] [stdout]     --> src/tp4.rs:1015:12
[INFO] [stdout]      |
[INFO] [stdout] 1014 | impl<'a> Plataforma<'a> {
[INFO] [stdout]      | ----------------------- method in this implementation
[INFO] [stdout] 1015 |     pub fn retirar_fiat(&mut self, user:&'a User, hoy:Fecha, monto_de_fiat:f32, medio:Medio ) -> bool
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_cripto_mayor_vendida`, `get_cripto_mayor_comprada`, `get_cripto_con_mayor_volumen_de_ventas`, and `get_cripto_con_mayor__volumen_de_compras` are never used
[INFO] [stdout]     --> src/tp4.rs:1036:12
[INFO] [stdout]      |
[INFO] [stdout] 1035 | impl<'a> Plataforma<'a>{
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] 1036 |     pub fn get_cripto_mayor_vendida(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1042 |     pub fn get_cripto_mayor_comprada(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1048 |     pub fn get_cripto_con_mayor_volumen_de_ventas(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CantidadYVolumenDeComprasPorCriptomoneda` is never constructed
[INFO] [stdout]     --> src/tp4.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub struct CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `contar`, and `agregar` are never used
[INFO] [stdout]     --> src/tp4.rs:1069:12
[INFO] [stdout]      |
[INFO] [stdout] 1068 | impl <'a>CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stdout]      | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout] 1069 |     pub fn new()-> CantidadYVolumenDeComprasPorCriptomoneda <'a>{
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1072 |     pub fn contar(&mut self,plataforma: &Plataforma<'a>){
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1090 |     fn agregar (criptomoneda:&'a Criptomoneda, hash_map_cantidad:& mut HashMap<&'a Criptomoneda<'a>,u32>,hash_map_volumen:& mut HashMap<&...
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:28:12
[INFO] [stdout]     |
[INFO] [stdout] 27  | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 28  |     pub fn new (dia: u32, mes: u32, anio: u32) -> Fecha{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31  |     pub fn es_bisiesto(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34  |     pub fn es_dia_valido(&self, dia_max:u32) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37  |     pub fn es_mes_valido(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40  |     pub fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43  |     pub fn max_dia(&self,mes:u32) -> u32{ // lo que entra TIENE que ser SI O SI un mes valido
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51  |     pub fn sumar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57  |     pub fn restar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63  |     pub fn chequear_carry(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73  |     pub fn chequear_borrow(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn es_mayor(&self, una_fecha:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88  |     pub fn es_igual(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |     pub fn es_proxima(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98  |     pub fn diferencencia_de_meses(&self, otro:&Self) -> u32{ // PRECONDICION --> otro > self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn cantidad_de_meses(&self) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plataforma` is never constructed
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:165:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct Plataforma{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatosDeUsuarioEnLaPlataforma` is never constructed
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub struct DatosDeUsuarioEnLaPlataforma { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | impl User{
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 252 |     pub fn new(id: u32, nombre: String, apellido: String, email: String, dni: u32 )->User{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl Plataforma {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 257 |     pub fn new(usuarios:HashMap<u32,User>, blockchains:HashMap<u32,BlockChain>) -> Plataforma{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Criptomoneda{
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 264 |     pub fn new(id: u32, nombre: String, prefijo: String, blockchains_accedibles: HashSet<u32> ) ->Criptomoneda{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl BlockChain{
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 269 |     pub fn new(id:u32, nombre: String, prefijo: String ) ->BlockChain{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl DatosDeUsuarioEnLaPlataforma{
[INFO] [stdout]     | --------------------------------- associated function in this implementation
[INFO] [stdout] 274 |     pub fn new(usuario_id:u32) ->DatosDeUsuarioEnLaPlataforma{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl Balance {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 279 |     pub fn new(usuario_id:u32, criptomoneda_id:u32, monto:f32) -> Balance{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validar_usuario` and `ingresar_dinero` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:296:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl Plataforma {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 296 |     pub fn validar_usuario(&mut self, usuario_id: u32,){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     pub fn ingresar_dinero(&mut self, usuario_id: u32, monto: f32, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `validar_usuario`, `ingresar_dinero`, and `registrar_transaccion` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:310:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | impl  DatosDeUsuarioEnLaPlataforma {
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] 310 |     pub fn validar_usuario(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn ingresar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn registrar_transaccion(&mut self, transaccion: Transaccion){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert_criptomoneda` and `get_blockchains` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 328 | impl Plataforma{
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 329 |     pub fn insert_criptomoneda(&mut self, criptomoneda:Criptomoneda) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn get_blockchains(&self) ->  Vec<(&u32, &BlockChain)>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `crear_plataforma_para_test` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:338:4
[INFO] [stdout]     |
[INFO] [stdout] 338 | fn crear_plataforma_para_test ()->Plataforma{
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `comprar_criptomoneda` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 382 | impl Plataforma{
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 383 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 384 |     pub fn comprar_criptomoneda(&mut self, usuario_id:u32, hoy:Fecha, criptomoneda_id:u32, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_validado`, `tiene_al_menos`, `retirar_dinero`, and `agregar_monto_cripto` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:403:12
[INFO] [stdout]     |
[INFO] [stdout] 402 | impl  DatosDeUsuarioEnLaPlataforma{
[INFO] [stdout]     | ---------------------------------- methods in this implementation
[INFO] [stdout] 403 |     pub fn esta_validado(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn tiene_al_menos(&self, monto:f32, criptomoneda_id:Option<u32>) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     pub fn retirar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn agregar_monto_cripto(&mut self, cripto_id:u32, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sumar_monto` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:424:12
[INFO] [stdout]     |
[INFO] [stdout] 423 | impl  Balance  {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 424 |     pub fn sumar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vender_criptomoneda` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:465:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | impl Plataforma{
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 464 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 465 |     pub fn vender_criptomoneda(&mut self, usuario_id:u32, hoy:Fecha, criptomoneda_id:u32, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quitar_monto_cripto` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:484:12
[INFO] [stdout]     |
[INFO] [stdout] 483 | impl  DatosDeUsuarioEnLaPlataforma{
[INFO] [stdout]     | ---------------------------------- method in this implementation
[INFO] [stdout] 484 |     pub fn quitar_monto_cripto(&mut self, cripto_id:u32, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `restar_monto` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:491:12
[INFO] [stdout]     |
[INFO] [stdout] 490 | impl  Balance  { 
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 491 |     pub fn restar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_criptomoneda_a_blockchain` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:528:12
[INFO] [stdout]     |
[INFO] [stdout] 527 | impl Plataforma {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 528 |     pub fn retirar_criptomoneda_a_blockchain(&mut self, usuario_id:u32, hoy:Fecha, criptomoneda_id:u32, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:547:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | impl BlockChain{ 
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 547 |     pub fn get_hash(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recibir_criptomoneda_de_blockchain` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 580 | impl Plataforma {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 581 |     pub fn recibir_criptomoneda_de_blockchain(&mut self, usuario_id:u32, hoy:Fecha, criptomoneda_id:u32, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_fiat` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:612:12
[INFO] [stdout]     |
[INFO] [stdout] 611 | impl Plataforma {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 612 |     pub fn retirar_fiat(&mut self, usuario_id:u32, hoy:Fecha, monto_de_fiat:f32, medio:Medio ) -> bool
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_cripto_id_mayor_vendida`, `get_cripto_id_mayor_comprada`, `get_cripto_id_con_mayor_volumen_de_ventas`, and `get_cripto_id_con_mayor__volumen_de_compras` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:655:12
[INFO] [stdout]     |
[INFO] [stdout] 654 | impl Plataforma{
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 655 |     pub fn get_cripto_id_mayor_vendida(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub fn get_cripto_id_mayor_comprada(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn get_cripto_id_con_mayor_volumen_de_ventas(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CantidadYVolumenDeComprasPorCriptomoneda` is never constructed
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:681:12
[INFO] [stdout]     |
[INFO] [stdout] 681 | pub struct CantidadYVolumenDeComprasPorCriptomoneda{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `contar`, and `agregar` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:688:12
[INFO] [stdout]     |
[INFO] [stdout] 687 | impl CantidadYVolumenDeComprasPorCriptomoneda{
[INFO] [stdout]     | --------------------------------------------- associated items in this implementation
[INFO] [stdout] 688 |     pub fn new()-> CantidadYVolumenDeComprasPorCriptomoneda {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 691 |     pub fn contar(&mut self,plataforma: &Plataforma){
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     fn agregar (criptomoneda_id:u32, hash_map_cantidad:& mut HashMap<u32,u32>,hash_map_volumen:& mut HashMap<u32,f32>,monto_de_cripto:f32){
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cargar_plataforma_para_test` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:717:4
[INFO] [stdout]     |
[INFO] [stdout] 717 | fn cargar_plataforma_para_test(users:HashSet<u32>,plataforma:&mut Plataforma,
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:952:12
[INFO] [stdout]     |
[INFO] [stdout] 951 | impl  Balances{
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 952 |     pub fn new() -> Balances{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `cargar_data`, `get`, `insert`, `sumar_monto_a`, and `restar_monto_a` are never used
[INFO] [stdout]     --> src/ricciardi_nicolas_e3.rs:959:12
[INFO] [stdout]      |
[INFO] [stdout] 958  | impl Balances{
[INFO] [stdout]      | ------------- associated items in this implementation
[INFO] [stdout] 959  |     pub fn cargar_data(data:&mut HashMap<u32, Balance>, new_data:HashMap<u32, Balance>){
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 983  |     pub fn get(&self, cripto_id:u32) -> Option<Balance>{ 
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 992  |     pub fn insert(&mut self, cripto_id:u32, balance:Balance) {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1000 |     pub fn sumar_monto_a(&mut self, cripto_id:u32, monto:f32) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1012 |     pub fn restar_monto_a(&mut self, cripto_id:u32, monto:f32) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/ricciardi_nicolas_e3.rs:1030:12
[INFO] [stdout]      |
[INFO] [stdout] 1029 | impl Transacciones {
[INFO] [stdout]      | ------------------ associated function in this implementation
[INFO] [stdout] 1030 |     pub fn new() -> Transacciones {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_data` and `set_data` are never used
[INFO] [stdout]     --> src/ricciardi_nicolas_e3.rs:1037:12
[INFO] [stdout]      |
[INFO] [stdout] 1036 | impl  Transacciones {
[INFO] [stdout]      | ------------------- methods in this implementation
[INFO] [stdout] 1037 |     pub fn get_data(&self) -> Option<Vec<Transaccion>>{
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1058 |     pub fn set_data(&mut self, new_data:Option<Vec<Transaccion>>) {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Seminario_Rust_2023` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `seminario_rust_2023`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej3` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const N_ej3:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej4` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const N_ej4:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej5` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const N_ej5:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej6` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const N_ej6:usize = 5;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej7` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const N_ej7:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej8` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const N_ej8:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej9` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const N_ej9:usize = 4;
[INFO] [stdout]     |           ^^^^^ help: convert the identifier to upper case: `N_EJ9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej10` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const N_ej10:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ10`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej11` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:135:11
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub const N_ej11:usize = 4;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ11`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej12` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const N_ej12:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ12`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej13` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const N_ej13:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ13`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_BMW` should have a snake case name
[INFO] [stdout]    --> src/tp3.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case: `es_bmw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stdout]   --> src/tp4.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     .map(|p| p.clone())
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stdout]   --> src/tp4.rs:72:74
[INFO] [stdout]    |
[INFO] [stdout] 72 |     personas.iter().filter(|p| p.ciudad==ciudad && p.edad>edad).map(|p| p.clone()).collect()
[INFO] [stdout]    |                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cripto_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stdout]     --> src/tp4.rs:1054:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_con_mayor_volumen_de_compras`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cripto_id_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:673:12
[INFO] [stdout]     |
[INFO] [stdout] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_id_con_mayor_volumen_de_compras`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 264 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 46.03s
[INFO] running `Command { std: "docker" "inspect" "4212a7e5916bf13c989e6be56c170ecd9de5fa81ef7880136e947bf67fc3cabb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4212a7e5916bf13c989e6be56c170ecd9de5fa81ef7880136e947bf67fc3cabb", kill_on_drop: false }`
[INFO] [stdout] 4212a7e5916bf13c989e6be56c170ecd9de5fa81ef7880136e947bf67fc3cabb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e91f99272110ca48d2742fcca6da109950b0bc92abdf0d2e39f3f380713646a2
[INFO] running `Command { std: "docker" "start" "-a" "e91f99272110ca48d2742fcca6da109950b0bc92abdf0d2e39f3f380713646a2", kill_on_drop: false }`
[INFO] [stderr]    Compiling Seminario_Rust-2023 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `tp3::Auto`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use tp3::Auto;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `chequear_es_primo` should have an upper camel case name
[INFO] [stdout]  --> src/tp4.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait chequear_es_primo {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ChequearEsPrimo`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hash`, `Hasher`
[INFO] [stdout]   --> src/tp5.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::hash::{Hash, Hasher};
[INFO] [stdout]    |                 ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/tp5.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/tp5.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::tp3::Fecha`
[INFO] [stdout]   --> src/tp5.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::tp3::Fecha;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Balance`, `Balances`, `BlockChain`, `Criptomoneda`, `DatosDeUsuarioEnLaPlataforma`, `Medio`, `Plataforma`, `Transaccion`, `Transacciones`, `User`
[INFO] [stdout]   --> src/tp5.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::tp4::{Plataforma,User,Criptomoneda,BlockChain,DatosDeUsuarioEnLaPlataforma,Balance,Balances,Transaccion,Transacciones,Medio};
[INFO] [stdout]    |                  ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OpenOptions`
[INFO] [stdout]  --> src/ricciardi_nicolas_e3.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs::{File, OpenOptions};
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Hasher`
[INFO] [stdout]  --> src/ricciardi_nicolas_e3.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::{Hash, Hasher};
[INFO] [stdout]   |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `libro`
[INFO] [stdout]    --> src/tp3.rs:886:47
[INFO] [stdout]     |
[INFO] [stdout] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_libro`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_data`
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:959:57
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn cargar_data(data:&mut HashMap<u32, Balance>, new_data:HashMap<u32, Balance>){
[INFO] [stdout]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_str` is never used
[INFO] [stdout]  --> src/teclado.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn ingresar_str<'a>(buf: &'a mut  String) -> &'a str {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_string` is never used
[INFO] [stdout]   --> src/teclado.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn ingresar_string() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_nro_i32` is never used
[INFO] [stdout]   --> src/teclado.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn ingresar_nro_i32() -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ingresar_bool` is never used
[INFO] [stdout]   --> src/teclado.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn ingresar_bool() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej1` is never used
[INFO] [stdout]  --> src/tp1.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn ej1() {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej2` is never used
[INFO] [stdout]   --> src/tp1.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn ej2(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej3` is never used
[INFO] [stdout]   --> src/tp1.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn ej3(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej4` is never used
[INFO] [stdout]   --> src/tp1.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn ej4(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej5` is never used
[INFO] [stdout]   --> src/tp1.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn ej5(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej6` is never used
[INFO] [stdout]   --> src/tp1.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn ej6(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej7` is never used
[INFO] [stdout]   --> src/tp1.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn ej7(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej8` is never used
[INFO] [stdout]   --> src/tp1.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn ej8(){
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej9` is never used
[INFO] [stdout]    --> src/tp1.rs:112:8
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub fn ej9(){
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej10` is never used
[INFO] [stdout]    --> src/tp1.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub fn ej10(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej11` is never used
[INFO] [stdout]    --> src/tp1.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn ej11(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ej12` is never used
[INFO] [stdout]    --> src/tp1.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn ej12(){
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `es_par` is never used
[INFO] [stdout]  --> src/tp2.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn es_par(num:i32) -> bool {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `es_primo` is never used
[INFO] [stdout]  --> src/tp2.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn es_primo(num:i32) -> bool{        
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej3` is never used
[INFO] [stdout]   --> src/tp2.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const N_ej3:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `suma_pares` is never used
[INFO] [stdout]   --> src/tp2.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn suma_pares(array:[i32;N_ej3]) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej4` is never used
[INFO] [stdout]   --> src/tp2.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const N_ej4:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_impares` is never used
[INFO] [stdout]   --> src/tp2.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn cantidad_impares(array:[i32;N_ej4]) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej5` is never used
[INFO] [stdout]   --> src/tp2.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const N_ej5:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `duplicar_valores` is never used
[INFO] [stdout]   --> src/tp2.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn duplicar_valores(array:[f32;N_ej5]) -> [f32;N_ej5] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej6` is never used
[INFO] [stdout]   --> src/tp2.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const N_ej6:usize = 5;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `longitud_de_cadenas` is never used
[INFO] [stdout]   --> src/tp2.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn longitud_de_cadenas(array:[String;N_ej6]) -> [i32;N_ej6] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej7` is never used
[INFO] [stdout]   --> src/tp2.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const N_ej7:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_de_mayores` is never used
[INFO] [stdout]   --> src/tp2.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn cantidad_de_mayores(array:[i32;N_ej7],limite:i32) -> i32{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej8` is never used
[INFO] [stdout]   --> src/tp2.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const N_ej8:usize = 4;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sumar_arreglos` is never used
[INFO] [stdout]   --> src/tp2.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn sumar_arreglos(array1:[f32;N_ej8],array2:[f32;N_ej8]) -> [f32;N_ej8] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej9` is never used
[INFO] [stdout]    --> src/tp2.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const N_ej9:usize = 4;
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_en_rango` is never used
[INFO] [stdout]    --> src/tp2.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn cantidad_en_rango(array:[i32;N_ej9],inferior:i32,superior:i32) -> i32{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej10` is never used
[INFO] [stdout]    --> src/tp2.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const N_ej10:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cantidad_de_cadenas_mayor_a` is never used
[INFO] [stdout]    --> src/tp2.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub fn cantidad_de_cadenas_mayor_a(array:[String;N_ej10],limite:i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej11` is never used
[INFO] [stdout]    --> src/tp2.rs:135:11
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub const N_ej11:usize = 4;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiplicar_valores` is never used
[INFO] [stdout]    --> src/tp2.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn multiplicar_valores(mut array:[i32;N_ej11], factor:i32) -> [i32;N_ej11]{    
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej12` is never used
[INFO] [stdout]    --> src/tp2.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const N_ej12:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reemplazar_pares` is never used
[INFO] [stdout]    --> src/tp2.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn reemplazar_pares(mut array:[i32;N_ej12]) -> [i32;N_ej12]{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej13` is never used
[INFO] [stdout]    --> src/tp2.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const N_ej13:usize = 5;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ordenar_nombres` is never used
[INFO] [stdout]    --> src/tp2.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub fn ordenar_nombres(mut array:[String;N_ej13]) -> [String;N_ej13] {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `incrementar` is never used
[INFO] [stdout]    --> src/tp2.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn incrementar(num: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej1` is never used
[INFO] [stdout]  --> src/test_tp2.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn test_ej1(){
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej2` is never used
[INFO] [stdout]  --> src/test_tp2.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn test_ej2(){
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej3` is never used
[INFO] [stdout]   --> src/test_tp2.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn test_ej3(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej4` is never used
[INFO] [stdout]   --> src/test_tp2.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub fn test_ej4(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej5` is never used
[INFO] [stdout]   --> src/test_tp2.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn test_ej5(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej6` is never used
[INFO] [stdout]   --> src/test_tp2.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn test_ej6(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej7` is never used
[INFO] [stdout]   --> src/test_tp2.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn test_ej7(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej8` is never used
[INFO] [stdout]   --> src/test_tp2.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn test_ej8(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej9` is never used
[INFO] [stdout]   --> src/test_tp2.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn test_ej9(){
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej10` is never used
[INFO] [stdout]   --> src/test_tp2.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn test_ej10(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej11` is never used
[INFO] [stdout]   --> src/test_tp2.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn test_ej11(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej12` is never used
[INFO] [stdout]   --> src/test_tp2.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn test_ej12(){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej13` is never used
[INFO] [stdout]    --> src/test_tp2.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub fn test_ej13(){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_ej14` is never used
[INFO] [stdout]    --> src/test_tp2.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn test_ej14(){
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Persona` is never constructed
[INFO] [stdout]   --> src/tp3.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Persona{
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `imprimir`, `obtener_edad`, and `actualizar_direccion` are never used
[INFO] [stdout]   --> src/tp3.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Persona{
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 16 |     pub fn new (nombre: String, direccion: Option<String>, edad: i32) -> Persona{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn imprimir(&self){
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn obtener_edad(&self) -> i32{
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn actualizar_direccion(&mut self, nueva_direccion:Option<String>){
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rectangulo` is never constructed
[INFO] [stdout]   --> src/tp3.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | 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/tp3.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl Rectangulo{
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 49 |     pub fn new (longitud: f32, ancho: f32) -> Rectangulo{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn calcular_area(&self) -> f32{
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn es_cuadrado(&mut self) -> bool{
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stdout]   --> src/tp3.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fecha{    
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 75 |     dia: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 76 |     mes: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 77 |     anio: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Fecha` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:80:12
[INFO] [stdout]     |
[INFO] [stdout] 79  | impl Fecha{
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 80  |     pub fn new (dia: u32, mes: u32, anio: u32) -> Fecha{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 83  |     pub fn es_bisiesto(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86  |     pub fn es_dia_valido(&self, dia_max:u32) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89  |     pub fn es_mes_valido(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92  |     pub fn es_fecha_valida(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95  |     pub fn max_dia(&self,mes:u32) -> u32{ // lo que entra TIENE que ser SI O SI un mes valido
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn sumar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn restar_dias(&mut self,dias:u32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn chequear_carry(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn chequear_borrow(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn es_mayor(&self, una_fecha:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn es_igual(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn es_proxima(&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn diferencencia_de_meses(&self, otro:&Self) -> u32{ // PRECONDICION --> otro > self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn cantidad_de_meses(&self) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Triangulo` is never constructed
[INFO] [stdout]    --> src/tp3.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct Triangulo{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl Triangulo{
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 173 |     pub fn new (l1: f32, l2: f32, l3: f32,) -> Triangulo{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn soy_valido(&self) ->bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn determinar_tipo(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn calcular_area(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn semiperimetro (&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn altura(&self) -> f32 { 
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | 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/tp3.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 237 | impl Producto{
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 238 |     pub fn new (nombre: String, precio_bruto: f32, numero_identificatorio: i32) -> Producto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn calcular_impuestos(&self, porcentaje_de_impuestos:f32) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn aplicar_descuento(&self, porcentaje_de_descuento:f32) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn calcular_precio_total(&self, porcentaje_de_impuestos:Option<f32>, porcentaje_de_descuento:Option<f32>) -> f32{ 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Examen` is never constructed
[INFO] [stdout]    --> src/tp3.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Examen{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:275:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | impl Examen{
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 275 |     pub fn new (nombre_materia: String, nota: f32) -> Examen{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Estudiante` is never constructed
[INFO] [stdout]    --> src/tp3.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct Estudiante{
[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/tp3.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl Estudiante{
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 285 |     pub fn new (nombre: String, examenes: LinkedList<Examen>, nro_id: i32) -> Estudiante{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn obtener_promedio(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn obtener_calificacion_mas_alta(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn obtener_calificacion_mas_baja(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConcesionarioAuto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:337:12
[INFO] [stdout]     |
[INFO] [stdout] 337 | 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/tp3.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 344 | impl ConcesionarioAuto{
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 345 |     pub fn new (nombre: String, direccion: String, capacidad_maxima_autos:u32, autos:Vec<Auto>) -> ConcesionarioAuto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn agregar_auto(&mut self,auto:Auto) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn eliminar_auto(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn buscar_auto(&self, auto:&Auto) -> Option<&Auto>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rojo`, `Verde`, `Azul`, `Amarillo`, `Blanco`, and `Negro` are never constructed
[INFO] [stdout]    --> src/tp3.rs:372:5
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum Color{
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 372 |     Rojo, Verde, Azul, Amarillo, Blanco, Negro
[INFO] [stdout]     |     ^^^^  ^^^^^  ^^^^  ^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `marca`, `modelo`, `anio`, `precio_bruto`, and `color` are never read
[INFO] [stdout]    --> src/tp3.rs:376:5
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct Auto{ 
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 376 |     marca: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 377 |     modelo: String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 378 |     anio: i32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 379 |     precio_bruto: f32,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 380 |     color: Color,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Auto` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:384:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl Auto{ 
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 384 |     pub fn new (marca: String,  modelo: String, anio: i32, precio_bruto: f32, color: Color) -> Auto{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn calcular_precio(&self) -> f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     pub fn es_de_color_primario(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn anio_menor_2000(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn es_igual(&self, otro:&Self) ->bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 410 |     pub fn es_color_rojo(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn es_color_amarillo(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn es_color_azul(color:&Color) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Genero` is never used
[INFO] [stdout]    --> src/tp3.rs:442:10
[INFO] [stdout]     |
[INFO] [stdout] 442 | pub enum Genero{
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cancion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:445:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | pub struct Cancion{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 450 | impl Cancion {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 451 |     pub fn new(titulo:String, artista:String, genero:Genero) -> Cancion {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub fn tiene_genero_igual(&self, genero:&Genero) ->bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn es_rock(genero:&Genero) ->bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 469 |     pub fn es_rap(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     pub fn es_pop(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 481 |     pub fn es_jazz(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 487 |     pub fn es_otros(genero:&Genero)->bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Playlist` is never constructed
[INFO] [stdout]    --> src/tp3.rs:495:12
[INFO] [stdout]     |
[INFO] [stdout] 495 | pub struct Playlist{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 499 | impl Playlist {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 500 |     pub fn new(nombre:String, canciones:Vec<Cancion>) -> Playlist {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 503 |     pub fn agregar_cancion (&mut self,cancion:Cancion){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 506 |     pub fn eliminar_cancion (&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 509 |     pub fn mover_cancion (&mut self,index:usize,cancion:Cancion){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     pub fn buscar_cancion (&self,titulo:String) -> Option<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn canciones_genero (&self,genero:Genero) -> Vec<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 530 |     pub fn canciones_artista (&self,artista:String) -> Vec<&Cancion>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 539 |     pub fn modificar_nombre (&mut self, nombre:String){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     pub fn nueva_playlist (&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Duenio` is never constructed
[INFO] [stdout]    --> src/tp3.rs:570:12
[INFO] [stdout]     |
[INFO] [stdout] 570 | pub struct Duenio{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:576:12
[INFO] [stdout]     |
[INFO] [stdout] 575 | impl Duenio {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 576 |     pub fn new( nombre:String, direccion:String, teléfono:u32) -> Duenio {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Animal` is never used
[INFO] [stdout]    --> src/tp3.rs:580:10
[INFO] [stdout]     |
[INFO] [stdout] 580 | pub enum Animal {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mascota` is never constructed
[INFO] [stdout]    --> src/tp3.rs:583:12
[INFO] [stdout]     |
[INFO] [stdout] 583 | pub struct Mascota<'a>{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:590:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl <'a> Mascota <'a> {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 590 |     pub fn new( nombre:String, edad:u32, tipo_de_animal:Animal, duenio:&'a Duenio) -> Mascota<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     pub fn es_igual(&self, otro:&Self)-> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     pub fn animal_igual(animal:&Animal,otro_animal:&Animal)-> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub fn es_perro(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     pub fn es_otros(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 616 |     pub fn es_gato(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 622 |     pub fn es_caballo(otro_animal:&Animal) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AtencionRealizada` is never constructed
[INFO] [stdout]    --> src/tp3.rs:629:12
[INFO] [stdout]     |
[INFO] [stdout] 629 | pub struct AtencionRealizada<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `soy_yo`, and `modificar_fecha` are never used
[INFO] [stdout]    --> src/tp3.rs:636:12
[INFO] [stdout]     |
[INFO] [stdout] 635 | impl <'a>AtencionRealizada <'a>{
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 636 |     pub fn new( mascota:&'a Mascota<'a>, diagnostico_final:String, tratamiento:String, fecha_proxima_visita:Option<Fecha>) -> AtencionRea...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 639 |     pub fn soy_yo(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> bool{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn modificar_fecha(&mut self, fecha_proxima_visita:Option<Fecha>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Veterinaria` is never constructed
[INFO] [stdout]    --> src/tp3.rs:650:12
[INFO] [stdout]     |
[INFO] [stdout] 650 | pub struct Veterinaria<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tp3.rs:658:12
[INFO] [stdout]     |
[INFO] [stdout] 657 | impl <'a>Veterinaria<'a> {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 658 |     pub fn new( nombre:String, direccion:String, id:i32, proximas_atenciones:VecDeque<&'a Mascota<'a>>, registro_atenciones:LinkedList<&'...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub fn agregar_mascota_al_final(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 664 |     pub fn agregar_mascota_al_inicio(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn atender_mascota(&mut self) -> &'a Mascota<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn eliminar_mascota(&mut self, mascota: &'a Mascota<'a>)  {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub fn mascota_atendida(&mut self, atencion_realizada:  &'a AtencionRealizada<'a>){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 685 |     pub fn buscar_atencion(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> &'a AtencionRealizada<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 696 |     pub fn modificar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 706 |     pub fn eliminar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 723 |     pub fn emails_a_enviar(&self, fecha_de_hoy: Fecha, dias: u8) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Biblioteca` is never constructed
[INFO] [stdout]    --> src/tp3.rs:785:12
[INFO] [stdout]     |
[INFO] [stdout] 785 | pub struct Biblioteca<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibrosADisposicion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:791:12
[INFO] [stdout]     |
[INFO] [stdout] 791 | pub struct LibrosADisposicion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LibroADisposicion` is never constructed
[INFO] [stdout]    --> src/tp3.rs:794:12
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub struct LibroADisposicion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Novela`, `Infantil`, `Tecnico`, and `Otros` are never constructed
[INFO] [stdout]    --> src/tp3.rs:799:25
[INFO] [stdout]     |
[INFO] [stdout] 799 | pub enum GeneroDeLibro{ Novela, Infantil, Tecnico, Otros }
[INFO] [stdout]     |          -------------  ^^^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variants in this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Libro` is never constructed
[INFO] [stdout]    --> src/tp3.rs:800:12
[INFO] [stdout]     |
[INFO] [stdout] 800 | pub struct Libro{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrestamosEfectuados` is never constructed
[INFO] [stdout]    --> src/tp3.rs:806:12
[INFO] [stdout]     |
[INFO] [stdout] 806 | pub struct PrestamosEfectuados<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Devuelto` and `EnPrestamo` are never constructed
[INFO] [stdout]    --> src/tp3.rs:810:17
[INFO] [stdout]     |
[INFO] [stdout] 810 | pub enum Estado{Devuelto, EnPrestamo}
[INFO] [stdout]     |          ------ ^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          variants in this enum
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prestamo` is never constructed
[INFO] [stdout]    --> src/tp3.rs:811:12
[INFO] [stdout]     |
[INFO] [stdout] 811 | pub struct Prestamo<'a> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> src/tp3.rs:818:12
[INFO] [stdout]     |
[INFO] [stdout] 818 | pub struct Cliente{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:826:12
[INFO] [stdout]     |
[INFO] [stdout] 825 | impl <'a> Biblioteca<'a>{
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 826 |     pub fn new ( nombre:String, direccion:String, libros_a_disposición:LibrosADisposicion<'a>, prestamos_efectuados:PrestamosEfectuados<'...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:831:12
[INFO] [stdout]     |
[INFO] [stdout] 830 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stdout]     | ------------------------------- associated function in this implementation
[INFO] [stdout] 831 |     pub fn new ( libros_a_disposición: Vec<LibroADisposicion<'a>>) -> LibrosADisposicion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:836:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl <'a>LibroADisposicion<'a>{
[INFO] [stdout]     | ------------------------------ associated function in this implementation
[INFO] [stdout] 836 |     pub fn new ( libro:&'a Libro, cant_ejemplares:u32) -> LibroADisposicion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:841:12
[INFO] [stdout]     |
[INFO] [stdout] 840 | impl Libro{
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 841 |     pub fn new ( título:String, autor:String, nro_paginas:u32, genero:GeneroDeLibro) -> Libro{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:846:12
[INFO] [stdout]     |
[INFO] [stdout] 845 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stdout]     | -------------------------------- associated function in this implementation
[INFO] [stdout] 846 |     pub fn new ( prestamos: Vec<Prestamo<'a>>) -> PrestamosEfectuados<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:851:12
[INFO] [stdout]     |
[INFO] [stdout] 850 | impl <'a>Prestamo<'a>{
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 851 |     pub fn new ( libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>,estado:Estado) -> Prestamo...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp3.rs:856:12
[INFO] [stdout]     |
[INFO] [stdout] 855 | impl Cliente{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 856 |     pub fn new ( nombre:String, telefono:String, email:String) -> Cliente{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tp3.rs:863:12
[INFO] [stdout]     |
[INFO] [stdout] 862 | impl <'a> Biblioteca<'a>{
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] 863 |     pub fn buscar_libro_a_disposicion(&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub fn cant_ejemplares (&mut self, libro:&'a Libro) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 873 |     pub fn libro_prestado(&mut self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 878 |     pub fn libro_devuelto(&mut self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 889 |     pub fn realizar_prestamos(&mut self, libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>) -...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 898 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:Fecha) -> LinkedList<&Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 901 |     pub fn prestamos_a_vencidos(&self, hoy:Fecha) -> LinkedList<&Prestamo>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 904 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 907 |     pub fn devolver_libro(&mut self, libro:&'a Libro, cliente:&'a Cliente, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buscar` is never used
[INFO] [stdout]    --> src/tp3.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 915 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stdout]     | ------------------------------- method in this implementation
[INFO] [stdout] 916 |     pub fn buscar (&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_igual` is never used
[INFO] [stdout]    --> src/tp3.rs:925:12
[INFO] [stdout]     |
[INFO] [stdout] 924 | impl Libro{
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 925 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cant_prestamos_de`, `agregar`, `prestamos_a_vencer_en_los_proximos_dias`, `prestamos_a_vencidos`, and `buscar_prestamo` are never used
[INFO] [stdout]    --> src/tp3.rs:930:12
[INFO] [stdout]     |
[INFO] [stdout] 929 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] 930 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 937 |     pub fn agregar(&mut self, prestamo:Prestamo<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947 |     pub fn prestamos_a_vencidos(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 954 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_igual`, `esta_proximo_a_vencer`, `esta_vencido`, and `registrar_devolucion` are never used
[INFO] [stdout]    --> src/tp3.rs:969:12
[INFO] [stdout]     |
[INFO] [stdout] 962 | impl <'a>Prestamo<'a>{
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 969 |     pub fn es_igual (&self, libro:&'a Libro, cliente:&'a Cliente) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 972 |     pub fn esta_proximo_a_vencer(&self, hoy:&Fecha) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 975 |     pub fn esta_vencido(&self, hoy:&Fecha) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 978 |     pub fn registrar_devolucion(&mut self, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_igual` is never used
[INFO] [stdout]    --> src/tp3.rs:984:12
[INFO] [stdout]     |
[INFO] [stdout] 983 | impl Cliente{
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 984 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cant_primos` is never used
[INFO] [stdout]   --> src/tp4.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn cant_primos(vector:Vec<i32>) -> u32{
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/tp4.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl <'a>Persona<'a>{
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 45 |     pub fn new( nombre:&'a str, apellido:&'a str, direccion:&'a str, ciudad:&'a str, salario:f64, edad:u8,)->Persona<'a>{      
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `personas_con_salario_mayor_a` is never used
[INFO] [stdout]   --> src/tp4.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn personas_con_salario_mayor_a <'a> (personas:&'a Vec<&'a Persona<'a>>, salario:f64 ) -> Vec<&'a Persona<'a>>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `personas_mayores_a_y_que_viven_en` is never used
[INFO] [stdout]   --> src/tp4.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn personas_mayores_a_y_que_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>, edad:u8, ciudad:&'a str) ->Vec<&'a Persona<'a>>{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `todas_las_personas_viven_en` is never used
[INFO] [stdout]   --> src/tp4.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn todas_las_personas_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&'a str) ->bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `al_menos_una_persona_vive_en` is never used
[INFO] [stdout]   --> src/tp4.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn al_menos_una_persona_vive_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&str) -> bool{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `array_contiene` is never used
[INFO] [stdout]   --> src/tp4.rs:89:8
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub fn array_contiene<'a>(personas:&'a [&'a Persona], persona:&'a Persona) -> bool{ 
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_edades` is never used
[INFO] [stdout]   --> src/tp4.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn get_edades<'a, const N: usize>(personas:&'a [&'a Persona<'a>;N]) -> [u8;N]{
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_personas_min_y_max_salario` is never used
[INFO] [stdout]    --> src/tp4.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn get_personas_min_y_max_salario <'a> (personas:&'a [&'a Persona<'a>]) -> PersonasMinMaxSalarios<'a>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PersonasMinMaxSalarios` is never constructed
[INFO] [stdout]    --> src/tp4.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct PersonasMinMaxSalarios <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_min` and `set_max` are never used
[INFO] [stdout]    --> src/tp4.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl <'a>PersonasMinMaxSalarios<'a> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] 118 |     pub fn set_min(&mut self, persona_min_salario:&'a Persona<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn set_max(&mut self, persona_max_salario:&'a Persona<'a>){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamingRust` is never constructed
[INFO] [stdout]    --> src/tp4.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamingRust <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Subscripcion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct Subscripcion<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InfoDeSubscripcionRelacionadaAlUsuario` is never constructed
[INFO] [stdout]    --> src/tp4.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct InfoDeSubscripcionRelacionadaAlUsuario<'a> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Efectivo`, `MercadoPago`, `TarjetaDeCredito`, `TransferenciaBancaria`, and `Cripto` are never constructed
[INFO] [stdout]    --> src/tp4.rs:164:5
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum MedioDePago {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 164 |     Efectivo, MercadoPago(DataMedioDePago), TarjetaDeCredito(DataMedioDePago), TransferenciaBancaria(DataMedioDePago), Cripto(DataMedioDe...
[INFO] [stdout]     |     ^^^^^^^^  ^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stdout]    --> src/tp4.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | impl MedioDePago { 
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 167 |     fn discriminant(&self) -> usize { // https://docs.rs/enum-repr/latest/enum_repr/ // https://doc.rust-lang.org/std/mem/fn.discriminant...
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nro_de_tarjeta` is never read
[INFO] [stdout]    --> src/tp4.rs:179:5
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct DataMedioDePago{
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 179 |     nro_de_tarjeta:u32
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DataMedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InfoDeSubscripcion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:181:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct InfoDeSubscripcion{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Basic`, `Clasic`, and `Super` are never constructed
[INFO] [stdout]    --> src/tp4.rs:190:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum TipoDeSubscripcion{
[INFO] [stdout]     |          ------------------ variants in this enum
[INFO] [stdout] 190 |     Basic, Clasic, Super
[INFO] [stdout]     |     ^^^^^  ^^^^^^  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TipoDeSubscripcion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stdout]    --> src/tp4.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 192 | impl TipoDeSubscripcion {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 193 |     fn discriminant(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<'a> StreamingRust<'a>{
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 205 |     pub fn new()-> StreamingRust<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl Usuario{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 210 |     pub fn new (nombre:String, id:u32) -> Usuario{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl <'a>Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 215 |     pub fn new(info_propia:InfoDeSubscripcion, usuario: &'a Usuario, medio_de_pago:MedioDePago ) ->Subscripcion<'a> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 222 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 223 |     pub fn new(tipo_de_subscripcion:TipoDeSubscripcion,costo_mensual:f64, duracion_en_meses:u32, fecha_de_inicio:Fecha )->InfoDeSubscripc...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | impl DataMedioDePago{
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 228 |     pub fn new(nro_de_tarjeta:u32)->DataMedioDePago{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `agregar_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 235 | impl<'a> StreamingRust<'a>{
[INFO] [stdout]     | -------------------------- method in this implementation
[INFO] [stdout] 236 |     // retorna true si el usuario no tenia otra subscripcion valida, false si no se pudo completar la accion
[INFO] [stdout] 237 |     pub fn agregar_subscripcion(&mut self, usuario: &'a Usuario, info_de_subscripcion:InfoDeSubscripcion, medio_de_pago:MedioDePago, hoy:...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_vencida`, `set_info`, and `set_medio_de_pago` are never used
[INFO] [stdout]    --> src/tp4.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 254 |     pub fn esta_vencida (&self, hoy:&'a Fecha)-> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn set_info(&mut self, info_propia:InfoDeSubscripcion){
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn set_medio_de_pago(&mut self, medio_de_pago:MedioDePago){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `chequear_vencimiento` is never used
[INFO] [stdout]    --> src/tp4.rs:265:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | impl  <'a> InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 265 |     pub fn chequear_vencimiento (&self, hoy:&'a Fecha)->bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade_subscripcion_de` is never used
[INFO] [stdout]    --> src/tp4.rs:273:12
[INFO] [stdout]     |
[INFO] [stdout] 272 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 273 |     pub fn upgrade_subscripcion_de(&mut self, user: &'a Usuario){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 280 |     pub fn upgrade_subscripcion(&mut self){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `upgrade` is never used
[INFO] [stdout]    --> src/tp4.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 285 |     pub fn upgrade(&mut self){
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `downgrade_subscripcion_de` and `cancelar_subscripcion` are never used
[INFO] [stdout]    --> src/tp4.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 296 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] 297 |     pub fn downgrade_subscripcion_de(&mut self, user: &'a Usuario) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn cancelar_subscripcion(&mut self, user: &'a Usuario){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `downgrade_or_else_remove_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<'a> Subscripcion<'a>{
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 313 |     pub fn downgrade_or_else_remove_subscripcion(&mut self) -> bool{ // returns true si tiene que ser cancelada 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `es_el_peor_tipo_de_subscripcion` and `downgrade` are never used
[INFO] [stdout]    --> src/tp4.rs:320:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl InfoDeSubscripcion{
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 320 |     pub fn es_el_peor_tipo_de_subscripcion(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn downgrade <'a> (&mut self){ 
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `medio_de_pago_mas_utilizado_de_subscripciones_activas` is never used
[INFO] [stdout]    --> src/tp4.rs:335:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 335 |     pub fn medio_de_pago_mas_utilizado_de_subscripciones_activas(&self, hoy:Fecha) ->MedioDePago { // uso el crate strum, para un mejor m...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_medio_de_pago` is never used
[INFO] [stdout]    --> src/tp4.rs:383:12
[INFO] [stdout]     |
[INFO] [stdout] 382 | impl<'a> Subscripcion<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 383 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_medio_de_pago` is never used
[INFO] [stdout]    --> src/tp4.rs:388:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | impl<'a> InfoDeSubscripcionRelacionadaAlUsuario <'a> {
[INFO] [stdout]     | ---------------------------------------------------- method in this implementation
[INFO] [stdout] 388 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tipo_de_subscripcion_mas_contratada_de_subscripciones_activas` is never used
[INFO] [stdout]    --> src/tp4.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 395 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 396 |     pub fn tipo_de_subscripcion_mas_contratada_de_subscripciones_activas(&self, hoy:Fecha) ->TipoDeSubscripcion { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:415:12
[INFO] [stdout]     |
[INFO] [stdout] 414 | impl<'a> Subscripcion<'a> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] 415 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stdout]    --> src/tp4.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 419 | impl InfoDeSubscripcion  {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 420 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `medio_de_pago_mas_utilizado` is never used
[INFO] [stdout]    --> src/tp4.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 427 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 428 |     pub fn medio_de_pago_mas_utilizado(&self) ->MedioDePago { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tipo_de_subscripcion_mas_contratada` is never used
[INFO] [stdout]    --> src/tp4.rs:446:12
[INFO] [stdout]     |
[INFO] [stdout] 445 | impl <'a> StreamingRust<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] 446 |     pub fn tipo_de_subscripcion_mas_contratada(&self) ->TipoDeSubscripcion { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SistemaDeVentas` is never constructed
[INFO] [stdout]    --> src/tp4.rs:475:12
[INFO] [stdout]     |
[INFO] [stdout] 475 | pub struct SistemaDeVentas<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Venta` is never constructed
[INFO] [stdout]    --> src/tp4.rs:478:12
[INFO] [stdout]     |
[INFO] [stdout] 478 | pub struct Venta<'a >{
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Producto` is never constructed
[INFO] [stdout]    --> src/tp4.rs:485:12
[INFO] [stdout]     |
[INFO] [stdout] 485 | pub struct Producto{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Categorias` is never constructed
[INFO] [stdout]    --> src/tp4.rs:488:12
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct Categorias{ // se usa en un metodo mas adelante
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cliente` is never constructed
[INFO] [stdout]    --> src/tp4.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 | pub struct Cliente{
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InformacionNecesariaParaNewsletter` is never constructed
[INFO] [stdout]    --> src/tp4.rs:504:12
[INFO] [stdout]     |
[INFO] [stdout] 504 | pub struct InformacionNecesariaParaNewsletter{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OpcionDePago` is never used
[INFO] [stdout]    --> src/tp4.rs:507:10
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub enum OpcionDePago{
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_ventas` are never used
[INFO] [stdout]    --> src/tp4.rs:518:12
[INFO] [stdout]     |
[INFO] [stdout] 517 | impl <'a> SistemaDeVentas<'a>{
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 518 |     pub fn new () -> SistemaDeVentas<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 521 |     pub fn set_ventas(&mut self, ventas:Vec<Venta<'a>>){
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 525 | impl <'a> Venta<'a>{
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 526 |     pub fn new(fecha:Fecha,productos_vendidos:Vec<&'a Producto>, vendedor:&'a Vendedor, cliente:&'a Cliente, medio_de_pago:OpcionDePago) ...
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:531:12
[INFO] [stdout]     |
[INFO] [stdout] 530 | impl Producto{
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 531 |     pub fn new(nombre:String, categoria:String, precio_base:f32) -> Producto {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:536:12
[INFO] [stdout]     |
[INFO] [stdout] 535 | impl Categorias{
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 536 |     pub fn new() -> Categorias {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:541:12
[INFO] [stdout]     |
[INFO] [stdout] 540 | impl DataPersona{
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 541 |     pub fn new(nombre:String, apellido:String, dirección:String, dni:String) -> DataPersona {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:546:12
[INFO] [stdout]     |
[INFO] [stdout] 545 | impl Vendedor{
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 546 |     pub fn new(data_persona:DataPersona, nro_de_legajo:u32, antigüedad:u32, salario:u32) -> Vendedor {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:551:12
[INFO] [stdout]     |
[INFO] [stdout] 550 | impl Cliente{
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 551 |     pub fn new(data_persona:DataPersona, subscripcion_newsletter:Option<InformacionNecesariaParaNewsletter>) -> Cliente {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:556:12
[INFO] [stdout]     |
[INFO] [stdout] 555 | impl InformacionNecesariaParaNewsletter{
[INFO] [stdout]     | --------------------------------------- associated function in this implementation
[INFO] [stdout] 556 |     pub fn new(descuento:f32, correo:String) -> InformacionNecesariaParaNewsletter {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_porcentaje_de_descuento` is never used
[INFO] [stdout]    --> src/tp4.rs:570:12
[INFO] [stdout]     |
[INFO] [stdout] 569 | impl Categorias{
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 570 |     pub fn get_porcentaje_de_descuento(&self,categoria:&String) -> Option<&f32>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calcular_precio_final` is never used
[INFO] [stdout]    --> src/tp4.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 574 | impl<'a> Venta <'a> { // 
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 575 |     pub fn calcular_precio_final(&self, categorias:Categorias) ->f32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `realizar_reporte` is never used
[INFO] [stdout]    --> src/tp4.rs:587:12
[INFO] [stdout]     |
[INFO] [stdout] 586 | impl<'a> SistemaDeVentas<'a>{
[INFO] [stdout]     | ---------------------------- method in this implementation
[INFO] [stdout] 587 |     pub fn realizar_reporte(&self) -> Visualizacion{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Visualizacion` is never constructed
[INFO] [stdout]    --> src/tp4.rs:596:12
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub struct Visualizacion <'a>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `agregar_venta_por_categoria_producto`, and `agregar_venta_por_vendedor` are never used
[INFO] [stdout]    --> src/tp4.rs:601:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl <'a> Visualizacion <'a>{
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout] 601 |     pub fn new() -> Visualizacion<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub fn agregar_venta_por_categoria_producto(&mut self, categoria:String,venta:&'a Venta){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 614 |     pub fn agregar_venta_por_vendedor(&mut self, vendedor:&'a Vendedor,venta:&'a Venta){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Plataforma` is never constructed
[INFO] [stdout]    --> src/tp4.rs:636:12
[INFO] [stdout]     |
[INFO] [stdout] 636 | pub struct Plataforma<'a>{
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatosDeUsuarioEnLaPlataforma` is never constructed
[INFO] [stdout]    --> src/tp4.rs:669:12
[INFO] [stdout]     |
[INFO] [stdout] 669 | pub struct DatosDeUsuarioEnLaPlataforma<'a> { 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Balances` is never constructed
[INFO] [stdout]    --> src/tp4.rs:676:12
[INFO] [stdout]     |
[INFO] [stdout] 676 | pub struct Balances<'a>{ 
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `monto` is never read
[INFO] [stdout]    --> src/tp4.rs:682:5
[INFO] [stdout]     |
[INFO] [stdout] 680 | pub struct Balance<'a>{ 
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 681 |     usuario: &'a User, criptomoneda: &'a Criptomoneda<'a>,
[INFO] [stdout] 682 |     monto:f32
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Balance` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transacciones` is never constructed
[INFO] [stdout]    --> src/tp4.rs:697:12
[INFO] [stdout]     |
[INFO] [stdout] 697 | pub struct Transacciones<'a>{ 
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `IngresoDeDinero`, `CompraDeCripto`, `VentaDeCripto`, `RetiroCripto`, `RecepcionCripto`, and `RetiroFiat` are never constructed
[INFO] [stdout]    --> src/tp4.rs:702:5
[INFO] [stdout]     |
[INFO] [stdout] 701 | pub enum Transaccion<'a>{
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout] 702 |     IngresoDeDinero{fecha:Fecha,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 706 |     CompraDeCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     VentaDeCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     RetiroCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 726 |     RecepcionCripto{fecha:Fecha, 
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 734 |     RetiroFiat { fecha: Fecha,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Transaccion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `MercadoPago` and `TransferenciaBancaria` are never constructed
[INFO] [stdout]    --> src/tp4.rs:741:5
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub enum Medio{
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] 741 |     MercadoPago, TransferenciaBancaria
[INFO] [stdout]     |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Medio` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:745:12
[INFO] [stdout]     |
[INFO] [stdout] 744 | impl User{
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 745 |     pub fn new(nombre: String, apellido: String, email: String, dni: u32 )->User{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:750:12
[INFO] [stdout]     |
[INFO] [stdout] 749 | impl<'a> Plataforma <'a>{
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 750 |     pub fn new(users:&'a HashSet<&'a User>, criptomonedas:HashSet<Criptomoneda<'a>>,blockchains:HashSet<BlockChain>) -> Plataforma<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:757:12
[INFO] [stdout]     |
[INFO] [stdout] 756 | impl<'a> Criptomoneda<'a>{
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 757 |     pub fn new(nombre: String, prefijo: String, blockchains_accedibles: HashSet<&'a BlockChain> ) ->Criptomoneda<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:762:12
[INFO] [stdout]     |
[INFO] [stdout] 761 | impl BlockChain{
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 762 |     pub fn new(nombre: String, prefijo: String ) ->BlockChain{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:767:12
[INFO] [stdout]     |
[INFO] [stdout] 766 | impl<'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ----------------------------------------- associated function in this implementation
[INFO] [stdout] 767 |     pub fn new(usuario:&'a User) ->DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:772:12
[INFO] [stdout]     |
[INFO] [stdout] 771 | impl <'a> Balances<'a>{
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 772 |     pub fn new() -> Balances<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:777:12
[INFO] [stdout]     |
[INFO] [stdout] 776 | impl <'a> Balance <'a>{
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 777 |     pub fn new(usuario:&'a User, criptomoneda:&'a Criptomoneda, monto:f32) -> Balance<'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/tp4.rs:782:12
[INFO] [stdout]     |
[INFO] [stdout] 781 | impl <'a> Transacciones <'a>{
[INFO] [stdout]     | ---------------------------- associated function in this implementation
[INFO] [stdout] 782 |     pub fn new() -> Transacciones <'a>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ingresar_dinero` is never used
[INFO] [stdout]    --> src/tp4.rs:799:12
[INFO] [stdout]     |
[INFO] [stdout] 798 | impl<'a> Plataforma <'a>{
[INFO] [stdout]     | ------------------------ method in this implementation
[INFO] [stdout] 799 |     pub fn ingresar_dinero(&mut self, user:&'a User, monto: f32, hoy:Fecha){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `ingresar_dinero` and `registrar_transaccion` are never used
[INFO] [stdout]    --> src/tp4.rs:808:12
[INFO] [stdout]     |
[INFO] [stdout] 807 | impl <'a> DatosDeUsuarioEnLaPlataforma <'a>{
[INFO] [stdout]     | ------------------------------------------- methods in this implementation
[INFO] [stdout] 808 |     pub fn ingresar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub fn registrar_transaccion(&mut self, transaccion: Transaccion<'a>){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_data` and `set_data` are never used
[INFO] [stdout]    --> src/tp4.rs:824:12
[INFO] [stdout]     |
[INFO] [stdout] 823 | impl <'a> Transacciones <'a>{
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] 824 |     pub fn get_data(&self) -> Option<Vec<Transaccion<'a>>>{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     pub fn set_data(&mut self, new_data:Option<Vec<Transaccion<'a>>>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `comprar_criptomoneda` is never used
[INFO] [stdout]    --> src/tp4.rs:841:12
[INFO] [stdout]     |
[INFO] [stdout] 839 | impl<'a> Plataforma<'a>{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 840 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 841 |     pub fn comprar_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_validado`, `tiene_al_menos`, `retirar_dinero`, and `agregar_monto_cripto` are never used
[INFO] [stdout]    --> src/tp4.rs:860:12
[INFO] [stdout]     |
[INFO] [stdout] 859 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] 860 |     pub fn esta_validado(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     pub fn tiene_al_menos(&self, monto:f32, criptomoneda:Option<&'a Criptomoneda>) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 870 |     pub fn retirar_dinero(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub fn agregar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `insert`, and `sumar_monto_a` are never used
[INFO] [stdout]    --> src/tp4.rs:881:12
[INFO] [stdout]     |
[INFO] [stdout] 880 | impl <'a> Balances<'a>{
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 881 |     pub fn get(&self, cripto: &'a Criptomoneda) -> Option<Balance>{
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 887 |     pub fn insert(&mut self, cripto:&'a Criptomoneda, balance:Balance<'a>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 890 |     pub fn sumar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sumar_monto` is never used
[INFO] [stdout]    --> src/tp4.rs:900:12
[INFO] [stdout]     |
[INFO] [stdout] 899 | impl <'a> Balance <'a> {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 900 |     pub fn sumar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vender_criptomoneda` is never used
[INFO] [stdout]    --> src/tp4.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 914 | impl<'a> Plataforma<'a>{
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 915 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stdout] 916 |     pub fn vender_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `quitar_monto_cripto` is never used
[INFO] [stdout]    --> src/tp4.rs:935:12
[INFO] [stdout]     |
[INFO] [stdout] 934 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] 935 |     pub fn quitar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `restar_monto_a` is never used
[INFO] [stdout]    --> src/tp4.rs:942:12
[INFO] [stdout]     |
[INFO] [stdout] 941 | impl<'a> Balances<'a>{
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 942 |     pub fn restar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `restar_monto` is never used
[INFO] [stdout]    --> src/tp4.rs:951:12
[INFO] [stdout]     |
[INFO] [stdout] 950 | impl <'a> Balance <'a> { 
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] 951 |     pub fn restar_monto(&mut self, monto:f32){
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_criptomoneda_a_blockchain` is never used
[INFO] [stdout]    --> src/tp4.rs:966:12
[INFO] [stdout]     |
[INFO] [stdout] 965 | impl<'a> Plataforma<'a> {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 966 |     pub fn retirar_criptomoneda_a_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]    --> src/tp4.rs:982:12
[INFO] [stdout]     |
[INFO] [stdout] 981 | impl BlockChain{ //---- WTF
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 982 |     pub fn get_hash(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recibir_criptomoneda_de_blockchain` is never used
[INFO] [stdout]    --> src/tp4.rs:993:12
[INFO] [stdout]     |
[INFO] [stdout] 992 | impl<'a> Plataforma<'a> {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 993 |     pub fn recibir_criptomoneda_de_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `retirar_fiat` is never used
[INFO] [stdout]     --> src/tp4.rs:1015:12
[INFO] [stdout]      |
[INFO] [stdout] 1014 | impl<'a> Plataforma<'a> {
[INFO] [stdout]      | ----------------------- method in this implementation
[INFO] [stdout] 1015 |     pub fn retirar_fiat(&mut self, user:&'a User, hoy:Fecha, monto_de_fiat:f32, medio:Medio ) -> bool
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_cripto_mayor_vendida`, `get_cripto_mayor_comprada`, `get_cripto_con_mayor_volumen_de_ventas`, and `get_cripto_con_mayor__volumen_de_compras` are never used
[INFO] [stdout]     --> src/tp4.rs:1036:12
[INFO] [stdout]      |
[INFO] [stdout] 1035 | impl<'a> Plataforma<'a>{
[INFO] [stdout]      | ----------------------- methods in this implementation
[INFO] [stdout] 1036 |     pub fn get_cripto_mayor_vendida(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1042 |     pub fn get_cripto_mayor_comprada(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1048 |     pub fn get_cripto_con_mayor_volumen_de_ventas(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CantidadYVolumenDeComprasPorCriptomoneda` is never constructed
[INFO] [stdout]     --> src/tp4.rs:1062:12
[INFO] [stdout]      |
[INFO] [stdout] 1062 | pub struct CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `contar`, and `agregar` are never used
[INFO] [stdout]     --> src/tp4.rs:1069:12
[INFO] [stdout]      |
[INFO] [stdout] 1068 | impl <'a>CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stdout]      | ----------------------------------------------------- associated items in this implementation
[INFO] [stdout] 1069 |     pub fn new()-> CantidadYVolumenDeComprasPorCriptomoneda <'a>{
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1072 |     pub fn contar(&mut self,plataforma: &Plataforma<'a>){
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1090 |     fn agregar (criptomoneda:&'a Criptomoneda, hash_map_cantidad:& mut HashMap<&'a Criptomoneda<'a>,u32>,hash_map_volumen:& mut HashMap<&...
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `usuarios` is never read
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct Plataforma{
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 166 |     usuarios:HashMap<u32,User>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_hash` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:547:12
[INFO] [stdout]     |
[INFO] [stdout] 546 | impl BlockChain{ 
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] 547 |     pub fn get_hash(&self) -> String{
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_cripto_id_mayor_comprada`, `get_cripto_id_con_mayor_volumen_de_ventas`, and `get_cripto_id_con_mayor__volumen_de_compras` are never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 654 | impl Plataforma{
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 661 |     pub fn get_cripto_id_mayor_comprada(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     pub fn get_cripto_id_con_mayor_volumen_de_ventas(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `Seminario_Rust_2023` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `seminario_rust_2023`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej3` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const N_ej3:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ3`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej4` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const N_ej4:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej5` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const N_ej5:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej6` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const N_ej6:usize = 5;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej7` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const N_ej7:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej8` should have an upper case name
[INFO] [stdout]   --> src/tp2.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub const N_ej8:usize = 4;
[INFO] [stdout]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej9` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const N_ej9:usize = 4;
[INFO] [stdout]     |           ^^^^^ help: convert the identifier to upper case: `N_EJ9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej10` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:120:11
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub const N_ej10:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ10`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej11` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:135:11
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub const N_ej11:usize = 4;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ11`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej12` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:146:11
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub const N_ej12:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ12`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `N_ej13` should have an upper case name
[INFO] [stdout]    --> src/tp2.rs:158:11
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub const N_ej13:usize = 5;
[INFO] [stdout]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ13`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `es_BMW` should have a snake case name
[INFO] [stdout]    --> src/tp3.rs:400:12
[INFO] [stdout]     |
[INFO] [stdout] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stdout]     |            ^^^^^^ help: convert the identifier to snake case: `es_bmw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stdout]   --> src/tp4.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     .map(|p| p.clone())
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stdout]   --> src/tp4.rs:72:74
[INFO] [stdout]    |
[INFO] [stdout] 72 |     personas.iter().filter(|p| p.ciudad==ciudad && p.edad>edad).map(|p| p.clone()).collect()
[INFO] [stdout]    |                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cripto_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stdout]     --> src/tp4.rs:1054:12
[INFO] [stdout]      |
[INFO] [stdout] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_con_mayor_volumen_de_compras`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cripto_id_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:673:12
[INFO] [stdout]     |
[INFO] [stdout] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_id_con_mayor_volumen_de_compras`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 236 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.59s
[INFO] running `Command { std: "docker" "inspect" "e91f99272110ca48d2742fcca6da109950b0bc92abdf0d2e39f3f380713646a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e91f99272110ca48d2742fcca6da109950b0bc92abdf0d2e39f3f380713646a2", kill_on_drop: false }`
[INFO] [stdout] e91f99272110ca48d2742fcca6da109950b0bc92abdf0d2e39f3f380713646a2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 138bc57e49d75cf5f40cf63e3324a2198c153df61bd3f2fe5bb4ad59fd8ed4e1
[INFO] running `Command { std: "docker" "start" "-a" "138bc57e49d75cf5f40cf63e3324a2198c153df61bd3f2fe5bb4ad59fd8ed4e1", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `tp3::Auto`
[INFO] [stderr]  --> src/main.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use tp3::Auto;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait `chequear_es_primo` should have an upper camel case name
[INFO] [stderr]  --> src/tp4.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub trait chequear_es_primo {
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ChequearEsPrimo`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Hash`, `Hasher`
[INFO] [stderr]   --> src/tp5.rs:19:17
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::hash::{Hash, Hasher};
[INFO] [stderr]    |                 ^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]   --> src/tp5.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use std::collections::HashSet;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/tp5.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::tp3::Fecha`
[INFO] [stderr]   --> src/tp5.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use crate::tp3::Fecha;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Balance`, `Balances`, `BlockChain`, `Criptomoneda`, `DatosDeUsuarioEnLaPlataforma`, `Medio`, `Plataforma`, `Transaccion`, `Transacciones`, `User`
[INFO] [stderr]   --> src/tp5.rs:23:18
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::tp4::{Plataforma,User,Criptomoneda,BlockChain,DatosDeUsuarioEnLaPlataforma,Balance,Balances,Transaccion,Transacciones,Medio};
[INFO] [stderr]    |                  ^^^^^^^^^^ ^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OpenOptions`
[INFO] [stderr]  --> src/ricciardi_nicolas_e3.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::fs::{File, OpenOptions};
[INFO] [stderr]   |                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Hasher`
[INFO] [stderr]  --> src/ricciardi_nicolas_e3.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::hash::{Hash, Hasher};
[INFO] [stderr]   |                       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `libro`
[INFO] [stderr]    --> src/tp3.rs:886:47
[INFO] [stderr]     |
[INFO] [stderr] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stderr]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_libro`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_data`
[INFO] [stderr]    --> src/ricciardi_nicolas_e3.rs:959:57
[INFO] [stderr]     |
[INFO] [stderr] 959 |     pub fn cargar_data(data:&mut HashMap<u32, Balance>, new_data:HashMap<u32, Balance>){
[INFO] [stderr]     |                                                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_data`
[INFO] [stderr] 
[INFO] [stderr] warning: function `ingresar_str` is never used
[INFO] [stderr]  --> src/teclado.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn ingresar_str<'a>(buf: &'a mut  String) -> &'a str {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `ingresar_string` is never used
[INFO] [stderr]   --> src/teclado.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub fn ingresar_string() -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ingresar_nro_i32` is never used
[INFO] [stderr]   --> src/teclado.rs:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn ingresar_nro_i32() -> i32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ingresar_bool` is never used
[INFO] [stderr]   --> src/teclado.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn ingresar_bool() -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej1` is never used
[INFO] [stderr]  --> src/tp1.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn ej1() {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej2` is never used
[INFO] [stderr]   --> src/tp1.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn ej2(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej3` is never used
[INFO] [stderr]   --> src/tp1.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn ej3(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej4` is never used
[INFO] [stderr]   --> src/tp1.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn ej4(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej5` is never used
[INFO] [stderr]   --> src/tp1.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn ej5(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej6` is never used
[INFO] [stderr]   --> src/tp1.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn ej6(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej7` is never used
[INFO] [stderr]   --> src/tp1.rs:70:8
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn ej7(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej8` is never used
[INFO] [stderr]   --> src/tp1.rs:92:8
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub fn ej8(){
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej9` is never used
[INFO] [stderr]    --> src/tp1.rs:112:8
[INFO] [stderr]     |
[INFO] [stderr] 112 | pub fn ej9(){
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej10` is never used
[INFO] [stderr]    --> src/tp1.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 | pub fn ej10(){
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej11` is never used
[INFO] [stderr]    --> src/tp1.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub fn ej11(){
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ej12` is never used
[INFO] [stderr]    --> src/tp1.rs:157:8
[INFO] [stderr]     |
[INFO] [stderr] 157 | pub fn ej12(){
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `es_par` is never used
[INFO] [stderr]  --> src/tp2.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn es_par(num:i32) -> bool {
[INFO] [stderr]   |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `es_primo` is never used
[INFO] [stderr]  --> src/tp2.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn es_primo(num:i32) -> bool{        
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej3` is never used
[INFO] [stderr]   --> src/tp2.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const N_ej3:usize = 4;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `suma_pares` is never used
[INFO] [stderr]   --> src/tp2.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn suma_pares(array:[i32;N_ej3]) -> i32{
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej4` is never used
[INFO] [stderr]   --> src/tp2.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const N_ej4:usize = 4;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cantidad_impares` is never used
[INFO] [stderr]   --> src/tp2.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub fn cantidad_impares(array:[i32;N_ej4]) -> i32{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej5` is never used
[INFO] [stderr]   --> src/tp2.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub const N_ej5:usize = 4;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `duplicar_valores` is never used
[INFO] [stderr]   --> src/tp2.rs:49:8
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub fn duplicar_valores(array:[f32;N_ej5]) -> [f32;N_ej5] {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej6` is never used
[INFO] [stderr]   --> src/tp2.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub const N_ej6:usize = 5;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `longitud_de_cadenas` is never used
[INFO] [stderr]   --> src/tp2.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub fn longitud_de_cadenas(array:[String;N_ej6]) -> [i32;N_ej6] {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej7` is never used
[INFO] [stderr]   --> src/tp2.rs:75:11
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub const N_ej7:usize = 4;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cantidad_de_mayores` is never used
[INFO] [stderr]   --> src/tp2.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub fn cantidad_de_mayores(array:[i32;N_ej7],limite:i32) -> i32{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej8` is never used
[INFO] [stderr]   --> src/tp2.rs:91:11
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub const N_ej8:usize = 4;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `sumar_arreglos` is never used
[INFO] [stderr]   --> src/tp2.rs:92:8
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub fn sumar_arreglos(array1:[f32;N_ej8],array2:[f32;N_ej8]) -> [f32;N_ej8] {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej9` is never used
[INFO] [stderr]    --> src/tp2.rs:106:11
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub const N_ej9:usize = 4;
[INFO] [stderr]     |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cantidad_en_rango` is never used
[INFO] [stderr]    --> src/tp2.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub fn cantidad_en_rango(array:[i32;N_ej9],inferior:i32,superior:i32) -> i32{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej10` is never used
[INFO] [stderr]    --> src/tp2.rs:120:11
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub const N_ej10:usize = 5;
[INFO] [stderr]     |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cantidad_de_cadenas_mayor_a` is never used
[INFO] [stderr]    --> src/tp2.rs:121:8
[INFO] [stderr]     |
[INFO] [stderr] 121 | pub fn cantidad_de_cadenas_mayor_a(array:[String;N_ej10],limite:i32) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej11` is never used
[INFO] [stderr]    --> src/tp2.rs:135:11
[INFO] [stderr]     |
[INFO] [stderr] 135 | pub const N_ej11:usize = 4;
[INFO] [stderr]     |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `multiplicar_valores` is never used
[INFO] [stderr]    --> src/tp2.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub fn multiplicar_valores(mut array:[i32;N_ej11], factor:i32) -> [i32;N_ej11]{    
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej12` is never used
[INFO] [stderr]    --> src/tp2.rs:146:11
[INFO] [stderr]     |
[INFO] [stderr] 146 | pub const N_ej12:usize = 5;
[INFO] [stderr]     |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `reemplazar_pares` is never used
[INFO] [stderr]    --> src/tp2.rs:147:8
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub fn reemplazar_pares(mut array:[i32;N_ej12]) -> [i32;N_ej12]{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej13` is never used
[INFO] [stderr]    --> src/tp2.rs:158:11
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub const N_ej13:usize = 5;
[INFO] [stderr]     |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `ordenar_nombres` is never used
[INFO] [stderr]    --> src/tp2.rs:159:8
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub fn ordenar_nombres(mut array:[String;N_ej13]) -> [String;N_ej13] {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `incrementar` is never used
[INFO] [stderr]    --> src/tp2.rs:166:8
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub fn incrementar(num: f32) -> f32{
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej1` is never used
[INFO] [stderr]  --> src/test_tp2.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn test_ej1(){
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej2` is never used
[INFO] [stderr]  --> src/test_tp2.rs:8:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn test_ej2(){
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej3` is never used
[INFO] [stderr]   --> src/test_tp2.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn test_ej3(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej4` is never used
[INFO] [stderr]   --> src/test_tp2.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub fn test_ej4(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej5` is never used
[INFO] [stderr]   --> src/test_tp2.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn test_ej5(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej6` is never used
[INFO] [stderr]   --> src/test_tp2.rs:39:8
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub fn test_ej6(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej7` is never used
[INFO] [stderr]   --> src/test_tp2.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub fn test_ej7(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej8` is never used
[INFO] [stderr]   --> src/test_tp2.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn test_ej8(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej9` is never used
[INFO] [stderr]   --> src/test_tp2.rs:68:8
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub fn test_ej9(){
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej10` is never used
[INFO] [stderr]   --> src/test_tp2.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn test_ej10(){
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej11` is never used
[INFO] [stderr]   --> src/test_tp2.rs:87:8
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub fn test_ej11(){
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej12` is never used
[INFO] [stderr]   --> src/test_tp2.rs:97:8
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub fn test_ej12(){
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej13` is never used
[INFO] [stderr]    --> src/test_tp2.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 107 | pub fn test_ej13(){
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_ej14` is never used
[INFO] [stderr]    --> src/test_tp2.rs:117:8
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub fn test_ej14(){
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Persona` is never constructed
[INFO] [stderr]   --> src/tp3.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Persona{
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `imprimir`, `obtener_edad`, and `actualizar_direccion` are never used
[INFO] [stderr]   --> src/tp3.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Persona{
[INFO] [stderr]    | ------------ associated items in this implementation
[INFO] [stderr] 16 |     pub fn new (nombre: String, direccion: Option<String>, edad: i32) -> Persona{
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub fn imprimir(&self){
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn obtener_edad(&self) -> i32{
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn actualizar_direccion(&mut self, nueva_direccion:Option<String>){
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rectangulo` is never constructed
[INFO] [stderr]   --> src/tp3.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct Rectangulo{    
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `calcular_area`, `calcular_perimetro`, and `es_cuadrado` are never used
[INFO] [stderr]   --> src/tp3.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl Rectangulo{
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 49 |     pub fn new (longitud: f32, ancho: f32) -> Rectangulo{
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     pub fn calcular_area(&self) -> f32{
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn es_cuadrado(&mut self) -> bool{
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `dia`, `mes`, and `anio` are never read
[INFO] [stderr]   --> src/tp3.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub struct Fecha{    
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 75 |     dia: u32,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 76 |     mes: u32,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 77 |     anio: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Fecha` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:80:12
[INFO] [stderr]     |
[INFO] [stderr] 79  | impl Fecha{
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr] 80  |     pub fn new (dia: u32, mes: u32, anio: u32) -> Fecha{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 83  |     pub fn es_bisiesto(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 86  |     pub fn es_dia_valido(&self, dia_max:u32) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89  |     pub fn es_mes_valido(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 92  |     pub fn es_fecha_valida(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 95  |     pub fn max_dia(&self,mes:u32) -> u32{ // lo que entra TIENE que ser SI O SI un mes valido
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 103 |     pub fn sumar_dias(&mut self,dias:u32){
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 109 |     pub fn restar_dias(&mut self,dias:u32){
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |     pub fn chequear_carry(&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn chequear_borrow(&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 135 |     pub fn es_mayor(&self, una_fecha:&Self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub fn es_igual(&self, otro:&Self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub fn es_proxima(&self, otro:&Self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub fn diferencencia_de_meses(&self, otro:&Self) -> u32{ // PRECONDICION --> otro > self
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 154 |     pub fn cantidad_de_meses(&self) -> u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Triangulo` is never constructed
[INFO] [stderr]    --> src/tp3.rs:167:12
[INFO] [stderr]     |
[INFO] [stderr] 167 | pub struct Triangulo{
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:173:12
[INFO] [stderr]     |
[INFO] [stderr] 172 | impl Triangulo{
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr] 173 |     pub fn new (l1: f32, l2: f32, l3: f32,) -> Triangulo{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 176 |     pub fn soy_valido(&self) ->bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 179 |     pub fn determinar_tipo(&self) -> String{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn calcular_area(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 202 |     pub fn semiperimetro (&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 207 |     pub fn altura(&self) -> f32 { 
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 213 |     pub fn calcular_perimetro(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Producto` is never constructed
[INFO] [stderr]    --> src/tp3.rs:232:12
[INFO] [stderr]     |
[INFO] [stderr] 232 | pub struct Producto{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `calcular_impuestos`, `aplicar_descuento`, and `calcular_precio_total` are never used
[INFO] [stderr]    --> src/tp3.rs:238:12
[INFO] [stderr]     |
[INFO] [stderr] 237 | impl Producto{
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 238 |     pub fn new (nombre: String, precio_bruto: f32, numero_identificatorio: i32) -> Producto{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 241 |     pub fn calcular_impuestos(&self, porcentaje_de_impuestos:f32) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 244 |     pub fn aplicar_descuento(&self, porcentaje_de_descuento:f32) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 247 |     pub fn calcular_precio_total(&self, porcentaje_de_impuestos:Option<f32>, porcentaje_de_descuento:Option<f32>) -> f32{ 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Examen` is never constructed
[INFO] [stderr]    --> src/tp3.rs:270:12
[INFO] [stderr]     |
[INFO] [stderr] 270 | pub struct Examen{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:275:12
[INFO] [stderr]     |
[INFO] [stderr] 274 | impl Examen{
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 275 |     pub fn new (nombre_materia: String, nota: f32) -> Examen{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Estudiante` is never constructed
[INFO] [stderr]    --> src/tp3.rs:279:12
[INFO] [stderr]     |
[INFO] [stderr] 279 | pub struct Estudiante{
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `obtener_promedio`, `obtener_calificacion_mas_alta`, and `obtener_calificacion_mas_baja` are never used
[INFO] [stderr]    --> src/tp3.rs:285:12
[INFO] [stderr]     |
[INFO] [stderr] 284 | impl Estudiante{
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 285 |     pub fn new (nombre: String, examenes: LinkedList<Examen>, nro_id: i32) -> Estudiante{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     pub fn obtener_promedio(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 298 |     pub fn obtener_calificacion_mas_alta(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 305 |     pub fn obtener_calificacion_mas_baja(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConcesionarioAuto` is never constructed
[INFO] [stderr]    --> src/tp3.rs:337:12
[INFO] [stderr]     |
[INFO] [stderr] 337 | pub struct ConcesionarioAuto{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `agregar_auto`, `eliminar_auto`, and `buscar_auto` are never used
[INFO] [stderr]    --> src/tp3.rs:345:12
[INFO] [stderr]     |
[INFO] [stderr] 344 | impl ConcesionarioAuto{
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr] 345 |     pub fn new (nombre: String, direccion: String, capacidad_maxima_autos:u32, autos:Vec<Auto>) -> ConcesionarioAuto{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 349 |     pub fn agregar_auto(&mut self,auto:Auto) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 356 |     pub fn eliminar_auto(&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 359 |     pub fn buscar_auto(&self, auto:&Auto) -> Option<&Auto>{
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Rojo`, `Verde`, `Azul`, `Amarillo`, `Blanco`, and `Negro` are never constructed
[INFO] [stderr]    --> src/tp3.rs:372:5
[INFO] [stderr]     |
[INFO] [stderr] 371 | pub enum Color{
[INFO] [stderr]     |          ----- variants in this enum
[INFO] [stderr] 372 |     Rojo, Verde, Azul, Amarillo, Blanco, Negro
[INFO] [stderr]     |     ^^^^  ^^^^^  ^^^^  ^^^^^^^^  ^^^^^^  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Color` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `marca`, `modelo`, `anio`, `precio_bruto`, and `color` are never read
[INFO] [stderr]    --> src/tp3.rs:376:5
[INFO] [stderr]     |
[INFO] [stderr] 375 | pub struct Auto{ 
[INFO] [stderr]     |            ---- fields in this struct
[INFO] [stderr] 376 |     marca: String,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 377 |     modelo: String,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 378 |     anio: i32,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 379 |     precio_bruto: f32,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 380 |     color: Color,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Auto` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:384:12
[INFO] [stderr]     |
[INFO] [stderr] 383 | impl Auto{ 
[INFO] [stderr]     | --------- associated items in this implementation
[INFO] [stderr] 384 |     pub fn new (marca: String,  modelo: String, anio: i32, precio_bruto: f32, color: Color) -> Auto{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 387 |     pub fn calcular_precio(&self) -> f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 395 |     pub fn es_de_color_primario(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 403 |     pub fn anio_menor_2000(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 407 |     pub fn es_igual(&self, otro:&Self) ->bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 410 |     pub fn es_color_rojo(color:&Color) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 416 |     pub fn es_color_amarillo(color:&Color) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 422 |     pub fn es_color_azul(color:&Color) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Genero` is never used
[INFO] [stderr]    --> src/tp3.rs:442:10
[INFO] [stderr]     |
[INFO] [stderr] 442 | pub enum Genero{
[INFO] [stderr]     |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Cancion` is never constructed
[INFO] [stderr]    --> src/tp3.rs:445:12
[INFO] [stderr]     |
[INFO] [stderr] 445 | pub struct Cancion{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:451:12
[INFO] [stderr]     |
[INFO] [stderr] 450 | impl Cancion {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 451 |     pub fn new(titulo:String, artista:String, genero:Genero) -> Cancion {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 454 |     pub fn tiene_genero_igual(&self, genero:&Genero) ->bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 463 |     pub fn es_rock(genero:&Genero) ->bool{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 469 |     pub fn es_rap(genero:&Genero)->bool{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 475 |     pub fn es_pop(genero:&Genero)->bool{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 481 |     pub fn es_jazz(genero:&Genero)->bool{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 487 |     pub fn es_otros(genero:&Genero)->bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Playlist` is never constructed
[INFO] [stderr]    --> src/tp3.rs:495:12
[INFO] [stderr]     |
[INFO] [stderr] 495 | pub struct Playlist{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:500:12
[INFO] [stderr]     |
[INFO] [stderr] 499 | impl Playlist {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 500 |     pub fn new(nombre:String, canciones:Vec<Cancion>) -> Playlist {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 503 |     pub fn agregar_cancion (&mut self,cancion:Cancion){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 506 |     pub fn eliminar_cancion (&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 509 |     pub fn mover_cancion (&mut self,index:usize,cancion:Cancion){
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 512 |     pub fn buscar_cancion (&self,titulo:String) -> Option<&Cancion>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 521 |     pub fn canciones_genero (&self,genero:Genero) -> Vec<&Cancion>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 530 |     pub fn canciones_artista (&self,artista:String) -> Vec<&Cancion>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 539 |     pub fn modificar_nombre (&mut self, nombre:String){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 542 |     pub fn nueva_playlist (&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Duenio` is never constructed
[INFO] [stderr]    --> src/tp3.rs:570:12
[INFO] [stderr]     |
[INFO] [stderr] 570 | pub struct Duenio{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:576:12
[INFO] [stderr]     |
[INFO] [stderr] 575 | impl Duenio {
[INFO] [stderr]     | ----------- associated function in this implementation
[INFO] [stderr] 576 |     pub fn new( nombre:String, direccion:String, teléfono:u32) -> Duenio {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Animal` is never used
[INFO] [stderr]    --> src/tp3.rs:580:10
[INFO] [stderr]     |
[INFO] [stderr] 580 | pub enum Animal {
[INFO] [stderr]     |          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mascota` is never constructed
[INFO] [stderr]    --> src/tp3.rs:583:12
[INFO] [stderr]     |
[INFO] [stderr] 583 | pub struct Mascota<'a>{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:590:12
[INFO] [stderr]     |
[INFO] [stderr] 589 | impl <'a> Mascota <'a> {
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr] 590 |     pub fn new( nombre:String, edad:u32, tipo_de_animal:Animal, duenio:&'a Duenio) -> Mascota<'a> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 593 |     pub fn es_igual(&self, otro:&Self)-> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 596 |     pub fn animal_igual(animal:&Animal,otro_animal:&Animal)-> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 604 |     pub fn es_perro(otro_animal:&Animal) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 610 |     pub fn es_otros(otro_animal:&Animal) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 616 |     pub fn es_gato(otro_animal:&Animal) -> bool{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 622 |     pub fn es_caballo(otro_animal:&Animal) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AtencionRealizada` is never constructed
[INFO] [stderr]    --> src/tp3.rs:629:12
[INFO] [stderr]     |
[INFO] [stderr] 629 | pub struct AtencionRealizada<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `soy_yo`, and `modificar_fecha` are never used
[INFO] [stderr]    --> src/tp3.rs:636:12
[INFO] [stderr]     |
[INFO] [stderr] 635 | impl <'a>AtencionRealizada <'a>{
[INFO] [stderr]     | ------------------------------- associated items in this implementation
[INFO] [stderr] 636 |     pub fn new( mascota:&'a Mascota<'a>, diagnostico_final:String, tratamiento:String, fecha_proxima_visita:Option<Fecha>) -> AtencionRea...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 639 |     pub fn soy_yo(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> bool{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 644 |     pub fn modificar_fecha(&mut self, fecha_proxima_visita:Option<Fecha>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Veterinaria` is never constructed
[INFO] [stderr]    --> src/tp3.rs:650:12
[INFO] [stderr]     |
[INFO] [stderr] 650 | pub struct Veterinaria<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/tp3.rs:658:12
[INFO] [stderr]     |
[INFO] [stderr] 657 | impl <'a>Veterinaria<'a> {
[INFO] [stderr]     | ------------------------ associated items in this implementation
[INFO] [stderr] 658 |     pub fn new( nombre:String, direccion:String, id:i32, proximas_atenciones:VecDeque<&'a Mascota<'a>>, registro_atenciones:LinkedList<&'...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 661 |     pub fn agregar_mascota_al_final(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 664 |     pub fn agregar_mascota_al_inicio(&mut self, mascota: &'a Mascota<'a>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 667 |     pub fn atender_mascota(&mut self) -> &'a Mascota<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 671 |     pub fn eliminar_mascota(&mut self, mascota: &'a Mascota<'a>)  {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 682 |     pub fn mascota_atendida(&mut self, atencion_realizada:  &'a AtencionRealizada<'a>){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 685 |     pub fn buscar_atencion(&self, nombre_mascota:String,nombre_duenio:String,telefono:u32) -> &'a AtencionRealizada<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 696 |     pub fn modificar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 706 |     pub fn eliminar_atencion(&mut self, atencion_realizada:&'a AtencionRealizada<'a>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 723 |     pub fn emails_a_enviar(&self, fecha_de_hoy: Fecha, dias: u8) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Biblioteca` is never constructed
[INFO] [stderr]    --> src/tp3.rs:785:12
[INFO] [stderr]     |
[INFO] [stderr] 785 | pub struct Biblioteca<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LibrosADisposicion` is never constructed
[INFO] [stderr]    --> src/tp3.rs:791:12
[INFO] [stderr]     |
[INFO] [stderr] 791 | pub struct LibrosADisposicion<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `LibroADisposicion` is never constructed
[INFO] [stderr]    --> src/tp3.rs:794:12
[INFO] [stderr]     |
[INFO] [stderr] 794 | pub struct LibroADisposicion<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Novela`, `Infantil`, `Tecnico`, and `Otros` are never constructed
[INFO] [stderr]    --> src/tp3.rs:799:25
[INFO] [stderr]     |
[INFO] [stderr] 799 | pub enum GeneroDeLibro{ Novela, Infantil, Tecnico, Otros }
[INFO] [stderr]     |          -------------  ^^^^^^  ^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          variants in this enum
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Libro` is never constructed
[INFO] [stderr]    --> src/tp3.rs:800:12
[INFO] [stderr]     |
[INFO] [stderr] 800 | pub struct Libro{
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PrestamosEfectuados` is never constructed
[INFO] [stderr]    --> src/tp3.rs:806:12
[INFO] [stderr]     |
[INFO] [stderr] 806 | pub struct PrestamosEfectuados<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Devuelto` and `EnPrestamo` are never constructed
[INFO] [stderr]    --> src/tp3.rs:810:17
[INFO] [stderr]     |
[INFO] [stderr] 810 | pub enum Estado{Devuelto, EnPrestamo}
[INFO] [stderr]     |          ------ ^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          variants in this enum
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Prestamo` is never constructed
[INFO] [stderr]    --> src/tp3.rs:811:12
[INFO] [stderr]     |
[INFO] [stderr] 811 | pub struct Prestamo<'a> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Cliente` is never constructed
[INFO] [stderr]    --> src/tp3.rs:818:12
[INFO] [stderr]     |
[INFO] [stderr] 818 | pub struct Cliente{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:826:12
[INFO] [stderr]     |
[INFO] [stderr] 825 | impl <'a> Biblioteca<'a>{
[INFO] [stderr]     | ------------------------ associated function in this implementation
[INFO] [stderr] 826 |     pub fn new ( nombre:String, direccion:String, libros_a_disposición:LibrosADisposicion<'a>, prestamos_efectuados:PrestamosEfectuados<'...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:831:12
[INFO] [stderr]     |
[INFO] [stderr] 830 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stderr]     | ------------------------------- associated function in this implementation
[INFO] [stderr] 831 |     pub fn new ( libros_a_disposición: Vec<LibroADisposicion<'a>>) -> LibrosADisposicion<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:836:12
[INFO] [stderr]     |
[INFO] [stderr] 835 | impl <'a>LibroADisposicion<'a>{
[INFO] [stderr]     | ------------------------------ associated function in this implementation
[INFO] [stderr] 836 |     pub fn new ( libro:&'a Libro, cant_ejemplares:u32) -> LibroADisposicion<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:841:12
[INFO] [stderr]     |
[INFO] [stderr] 840 | impl Libro{
[INFO] [stderr]     | ---------- associated function in this implementation
[INFO] [stderr] 841 |     pub fn new ( título:String, autor:String, nro_paginas:u32, genero:GeneroDeLibro) -> Libro{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:846:12
[INFO] [stderr]     |
[INFO] [stderr] 845 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stderr]     | -------------------------------- associated function in this implementation
[INFO] [stderr] 846 |     pub fn new ( prestamos: Vec<Prestamo<'a>>) -> PrestamosEfectuados<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:851:12
[INFO] [stderr]     |
[INFO] [stderr] 850 | impl <'a>Prestamo<'a>{
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] 851 |     pub fn new ( libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>,estado:Estado) -> Prestamo...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp3.rs:856:12
[INFO] [stderr]     |
[INFO] [stderr] 855 | impl Cliente{
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 856 |     pub fn new ( nombre:String, telefono:String, email:String) -> Cliente{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/tp3.rs:863:12
[INFO] [stderr]     |
[INFO] [stderr] 862 | impl <'a> Biblioteca<'a>{
[INFO] [stderr]     | ------------------------ methods in this implementation
[INFO] [stderr] 863 |     pub fn buscar_libro_a_disposicion(&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 866 |     pub fn cant_ejemplares (&mut self, libro:&'a Libro) -> u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 873 |     pub fn libro_prestado(&mut self, libro:&'a Libro){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 878 |     pub fn libro_devuelto(&mut self, libro:&'a Libro){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 883 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 886 |     pub fn cant_ejemplares_disponibles(&self, libro:&'a Libro){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 889 |     pub fn realizar_prestamos(&mut self, libro:&'a Libro, cliente:&'a Cliente, fecha_vencimiento:Fecha, fecha_devolución:Option<Fecha>) -...
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 898 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:Fecha) -> LinkedList<&Prestamo<'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 901 |     pub fn prestamos_a_vencidos(&self, hoy:Fecha) -> LinkedList<&Prestamo>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 904 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 907 |     pub fn devolver_libro(&mut self, libro:&'a Libro, cliente:&'a Cliente, hoy:Fecha){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `buscar` is never used
[INFO] [stderr]    --> src/tp3.rs:916:12
[INFO] [stderr]     |
[INFO] [stderr] 915 | impl <'a>LibrosADisposicion<'a>{
[INFO] [stderr]     | ------------------------------- method in this implementation
[INFO] [stderr] 916 |     pub fn buscar (&mut self, libro:&'a Libro) -> Option<&mut LibroADisposicion<'a>>{
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `es_igual` is never used
[INFO] [stderr]    --> src/tp3.rs:925:12
[INFO] [stderr]     |
[INFO] [stderr] 924 | impl Libro{
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] 925 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `cant_prestamos_de`, `agregar`, `prestamos_a_vencer_en_los_proximos_dias`, `prestamos_a_vencidos`, and `buscar_prestamo` are never used
[INFO] [stderr]    --> src/tp3.rs:930:12
[INFO] [stderr]     |
[INFO] [stderr] 929 | impl <'a>PrestamosEfectuados<'a>{
[INFO] [stderr]     | -------------------------------- methods in this implementation
[INFO] [stderr] 930 |     pub fn cant_prestamos_de(&self, cliente:&'a Cliente) -> u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 937 |     pub fn agregar(&mut self, prestamo:Prestamo<'a>){
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 940 |     pub fn prestamos_a_vencer_en_los_proximos_dias(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 947 |     pub fn prestamos_a_vencidos(&self, hoy:&Fecha) -> LinkedList<&Prestamo <'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 954 |     pub fn buscar_prestamo(&mut self, libro:&'a Libro, cliente:&'a Cliente) -> Option<&mut Prestamo<'a>>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `es_igual`, `esta_proximo_a_vencer`, `esta_vencido`, and `registrar_devolucion` are never used
[INFO] [stderr]    --> src/tp3.rs:969:12
[INFO] [stderr]     |
[INFO] [stderr] 962 | impl <'a>Prestamo<'a>{
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 969 |     pub fn es_igual (&self, libro:&'a Libro, cliente:&'a Cliente) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 972 |     pub fn esta_proximo_a_vencer(&self, hoy:&Fecha) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 975 |     pub fn esta_vencido(&self, hoy:&Fecha) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 978 |     pub fn registrar_devolucion(&mut self, hoy:Fecha){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `es_igual` is never used
[INFO] [stderr]    --> src/tp3.rs:984:12
[INFO] [stderr]     |
[INFO] [stderr] 983 | impl Cliente{
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] 984 |     pub fn es_igual (&self, otro:&Self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cant_primos` is never used
[INFO] [stderr]   --> src/tp4.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn cant_primos(vector:Vec<i32>) -> u32{
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/tp4.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl <'a>Persona<'a>{
[INFO] [stderr]    | -------------------- associated function in this implementation
[INFO] [stderr] 45 |     pub fn new( nombre:&'a str, apellido:&'a str, direccion:&'a str, ciudad:&'a str, salario:f64, edad:u8,)->Persona<'a>{      
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `personas_con_salario_mayor_a` is never used
[INFO] [stderr]   --> src/tp4.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub fn personas_con_salario_mayor_a <'a> (personas:&'a Vec<&'a Persona<'a>>, salario:f64 ) -> Vec<&'a Persona<'a>>{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `personas_mayores_a_y_que_viven_en` is never used
[INFO] [stderr]   --> src/tp4.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn personas_mayores_a_y_que_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>, edad:u8, ciudad:&'a str) ->Vec<&'a Persona<'a>>{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `todas_las_personas_viven_en` is never used
[INFO] [stderr]   --> src/tp4.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub fn todas_las_personas_viven_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&'a str) ->bool{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `al_menos_una_persona_vive_en` is never used
[INFO] [stderr]   --> src/tp4.rs:83:8
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub fn al_menos_una_persona_vive_en<'a>(personas:&'a Vec<&'a Persona<'a>>,ciudad:&str) -> bool{
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `array_contiene` is never used
[INFO] [stderr]   --> src/tp4.rs:89:8
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub fn array_contiene<'a>(personas:&'a [&'a Persona], persona:&'a Persona) -> bool{ 
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_edades` is never used
[INFO] [stderr]   --> src/tp4.rs:94:8
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub fn get_edades<'a, const N: usize>(personas:&'a [&'a Persona<'a>;N]) -> [u8;N]{
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_personas_min_y_max_salario` is never used
[INFO] [stderr]    --> src/tp4.rs:103:8
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub fn get_personas_min_y_max_salario <'a> (personas:&'a [&'a Persona<'a>]) -> PersonasMinMaxSalarios<'a>{
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PersonasMinMaxSalarios` is never constructed
[INFO] [stderr]    --> src/tp4.rs:113:12
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub struct PersonasMinMaxSalarios <'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_min` and `set_max` are never used
[INFO] [stderr]    --> src/tp4.rs:118:12
[INFO] [stderr]     |
[INFO] [stderr] 117 | impl <'a>PersonasMinMaxSalarios<'a> {
[INFO] [stderr]     | ----------------------------------- methods in this implementation
[INFO] [stderr] 118 |     pub fn set_min(&mut self, persona_min_salario:&'a Persona<'a>){
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     pub fn set_max(&mut self, persona_max_salario:&'a Persona<'a>){
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `StreamingRust` is never constructed
[INFO] [stderr]    --> src/tp4.rs:134:12
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub struct StreamingRust <'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Subscripcion` is never constructed
[INFO] [stderr]    --> src/tp4.rs:147:12
[INFO] [stderr]     |
[INFO] [stderr] 147 | pub struct Subscripcion<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InfoDeSubscripcionRelacionadaAlUsuario` is never constructed
[INFO] [stderr]    --> src/tp4.rs:151:12
[INFO] [stderr]     |
[INFO] [stderr] 151 | pub struct InfoDeSubscripcionRelacionadaAlUsuario<'a> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Efectivo`, `MercadoPago`, `TarjetaDeCredito`, `TransferenciaBancaria`, and `Cripto` are never constructed
[INFO] [stderr]    --> src/tp4.rs:164:5
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub enum MedioDePago {
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] 164 |     Efectivo, MercadoPago(DataMedioDePago), TarjetaDeCredito(DataMedioDePago), TransferenciaBancaria(DataMedioDePago), Cripto(DataMedioDe...
[INFO] [stderr]     |     ^^^^^^^^  ^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stderr]    --> src/tp4.rs:167:8
[INFO] [stderr]     |
[INFO] [stderr] 166 | impl MedioDePago { 
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] 167 |     fn discriminant(&self) -> usize { // https://docs.rs/enum-repr/latest/enum_repr/ // https://doc.rust-lang.org/std/mem/fn.discriminant...
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 173 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stderr]     |                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `nro_de_tarjeta` is never read
[INFO] [stderr]    --> src/tp4.rs:179:5
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub struct DataMedioDePago{
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] 179 |     nro_de_tarjeta:u32
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DataMedioDePago` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InfoDeSubscripcion` is never constructed
[INFO] [stderr]    --> src/tp4.rs:181:12
[INFO] [stderr]     |
[INFO] [stderr] 181 | pub struct InfoDeSubscripcion{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Basic`, `Clasic`, and `Super` are never constructed
[INFO] [stderr]    --> src/tp4.rs:190:5
[INFO] [stderr]     |
[INFO] [stderr] 189 | pub enum TipoDeSubscripcion{
[INFO] [stderr]     |          ------------------ variants in this enum
[INFO] [stderr] 190 |     Basic, Clasic, Super
[INFO] [stderr]     |     ^^^^^  ^^^^^^  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TipoDeSubscripcion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `discriminant`, `to_usize`, and `tamanio` are never used
[INFO] [stderr]    --> src/tp4.rs:193:8
[INFO] [stderr]     |
[INFO] [stderr] 192 | impl TipoDeSubscripcion {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr] 193 |     fn discriminant(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn to_usize(&self) -> usize{ // por si encuentro manera de hacerlo sin usar codigo inseguro
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |     pub const fn tamanio() -> usize{ // https://crates.io/crates/strum
[INFO] [stderr]     |                  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:205:12
[INFO] [stderr]     |
[INFO] [stderr] 204 | impl<'a> StreamingRust<'a>{
[INFO] [stderr]     | -------------------------- associated function in this implementation
[INFO] [stderr] 205 |     pub fn new()-> StreamingRust<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:210:12
[INFO] [stderr]     |
[INFO] [stderr] 209 | impl Usuario{
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 210 |     pub fn new (nombre:String, id:u32) -> Usuario{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:215:12
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl <'a>Subscripcion<'a>{
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 215 |     pub fn new(info_propia:InfoDeSubscripcion, usuario: &'a Usuario, medio_de_pago:MedioDePago ) ->Subscripcion<'a> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:223:12
[INFO] [stderr]     |
[INFO] [stderr] 222 | impl InfoDeSubscripcion{
[INFO] [stderr]     | ----------------------- associated function in this implementation
[INFO] [stderr] 223 |     pub fn new(tipo_de_subscripcion:TipoDeSubscripcion,costo_mensual:f64, duracion_en_meses:u32, fecha_de_inicio:Fecha )->InfoDeSubscripc...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:228:12
[INFO] [stderr]     |
[INFO] [stderr] 227 | impl DataMedioDePago{
[INFO] [stderr]     | -------------------- associated function in this implementation
[INFO] [stderr] 228 |     pub fn new(nro_de_tarjeta:u32)->DataMedioDePago{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `agregar_subscripcion` is never used
[INFO] [stderr]    --> src/tp4.rs:237:12
[INFO] [stderr]     |
[INFO] [stderr] 235 | impl<'a> StreamingRust<'a>{
[INFO] [stderr]     | -------------------------- method in this implementation
[INFO] [stderr] 236 |     // retorna true si el usuario no tenia otra subscripcion valida, false si no se pudo completar la accion
[INFO] [stderr] 237 |     pub fn agregar_subscripcion(&mut self, usuario: &'a Usuario, info_de_subscripcion:InfoDeSubscripcion, medio_de_pago:MedioDePago, hoy:...
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `esta_vencida`, `set_info`, and `set_medio_de_pago` are never used
[INFO] [stderr]    --> src/tp4.rs:254:12
[INFO] [stderr]     |
[INFO] [stderr] 253 | impl<'a> Subscripcion<'a>{
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] 254 |     pub fn esta_vencida (&self, hoy:&'a Fecha)-> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 257 |     pub fn set_info(&mut self, info_propia:InfoDeSubscripcion){
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     pub fn set_medio_de_pago(&mut self, medio_de_pago:MedioDePago){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `chequear_vencimiento` is never used
[INFO] [stderr]    --> src/tp4.rs:265:12
[INFO] [stderr]     |
[INFO] [stderr] 264 | impl  <'a> InfoDeSubscripcion{
[INFO] [stderr]     | ----------------------------- method in this implementation
[INFO] [stderr] 265 |     pub fn chequear_vencimiento (&self, hoy:&'a Fecha)->bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `upgrade_subscripcion_de` is never used
[INFO] [stderr]    --> src/tp4.rs:273:12
[INFO] [stderr]     |
[INFO] [stderr] 272 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 273 |     pub fn upgrade_subscripcion_de(&mut self, user: &'a Usuario){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `upgrade_subscripcion` is never used
[INFO] [stderr]    --> src/tp4.rs:280:12
[INFO] [stderr]     |
[INFO] [stderr] 279 | impl<'a> Subscripcion<'a>{
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] 280 |     pub fn upgrade_subscripcion(&mut self){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `upgrade` is never used
[INFO] [stderr]    --> src/tp4.rs:285:12
[INFO] [stderr]     |
[INFO] [stderr] 284 | impl InfoDeSubscripcion{
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 285 |     pub fn upgrade(&mut self){
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `downgrade_subscripcion_de` and `cancelar_subscripcion` are never used
[INFO] [stderr]    --> src/tp4.rs:297:12
[INFO] [stderr]     |
[INFO] [stderr] 296 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- methods in this implementation
[INFO] [stderr] 297 |     pub fn downgrade_subscripcion_de(&mut self, user: &'a Usuario) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 306 |     pub fn cancelar_subscripcion(&mut self, user: &'a Usuario){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `downgrade_or_else_remove_subscripcion` is never used
[INFO] [stderr]    --> src/tp4.rs:313:12
[INFO] [stderr]     |
[INFO] [stderr] 312 | impl<'a> Subscripcion<'a>{
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] 313 |     pub fn downgrade_or_else_remove_subscripcion(&mut self) -> bool{ // returns true si tiene que ser cancelada 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `es_el_peor_tipo_de_subscripcion` and `downgrade` are never used
[INFO] [stderr]    --> src/tp4.rs:320:12
[INFO] [stderr]     |
[INFO] [stderr] 319 | impl InfoDeSubscripcion{
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] 320 |     pub fn es_el_peor_tipo_de_subscripcion(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 323 |     pub fn downgrade <'a> (&mut self){ 
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `medio_de_pago_mas_utilizado_de_subscripciones_activas` is never used
[INFO] [stderr]    --> src/tp4.rs:335:12
[INFO] [stderr]     |
[INFO] [stderr] 334 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 335 |     pub fn medio_de_pago_mas_utilizado_de_subscripciones_activas(&self, hoy:Fecha) ->MedioDePago { // uso el crate strum, para un mejor m...
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_medio_de_pago` is never used
[INFO] [stderr]    --> src/tp4.rs:383:12
[INFO] [stderr]     |
[INFO] [stderr] 382 | impl<'a> Subscripcion<'a> {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] 383 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_medio_de_pago` is never used
[INFO] [stderr]    --> src/tp4.rs:388:12
[INFO] [stderr]     |
[INFO] [stderr] 387 | impl<'a> InfoDeSubscripcionRelacionadaAlUsuario <'a> {
[INFO] [stderr]     | ---------------------------------------------------- method in this implementation
[INFO] [stderr] 388 |     pub fn get_medio_de_pago(&self) -> &MedioDePago{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `tipo_de_subscripcion_mas_contratada_de_subscripciones_activas` is never used
[INFO] [stderr]    --> src/tp4.rs:396:12
[INFO] [stderr]     |
[INFO] [stderr] 395 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 396 |     pub fn tipo_de_subscripcion_mas_contratada_de_subscripciones_activas(&self, hoy:Fecha) ->TipoDeSubscripcion { 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stderr]    --> src/tp4.rs:415:12
[INFO] [stderr]     |
[INFO] [stderr] 414 | impl<'a> Subscripcion<'a> {
[INFO] [stderr]     | ------------------------- method in this implementation
[INFO] [stderr] 415 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_tipo_de_subscripcion` is never used
[INFO] [stderr]    --> src/tp4.rs:420:12
[INFO] [stderr]     |
[INFO] [stderr] 419 | impl InfoDeSubscripcion  {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 420 |     pub fn get_tipo_de_subscripcion(&self) -> &TipoDeSubscripcion {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `medio_de_pago_mas_utilizado` is never used
[INFO] [stderr]    --> src/tp4.rs:428:12
[INFO] [stderr]     |
[INFO] [stderr] 427 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 428 |     pub fn medio_de_pago_mas_utilizado(&self) ->MedioDePago { 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `tipo_de_subscripcion_mas_contratada` is never used
[INFO] [stderr]    --> src/tp4.rs:446:12
[INFO] [stderr]     |
[INFO] [stderr] 445 | impl <'a> StreamingRust<'a> {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] 446 |     pub fn tipo_de_subscripcion_mas_contratada(&self) ->TipoDeSubscripcion { 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SistemaDeVentas` is never constructed
[INFO] [stderr]    --> src/tp4.rs:475:12
[INFO] [stderr]     |
[INFO] [stderr] 475 | pub struct SistemaDeVentas<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Venta` is never constructed
[INFO] [stderr]    --> src/tp4.rs:478:12
[INFO] [stderr]     |
[INFO] [stderr] 478 | pub struct Venta<'a >{
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Producto` is never constructed
[INFO] [stderr]    --> src/tp4.rs:485:12
[INFO] [stderr]     |
[INFO] [stderr] 485 | pub struct Producto{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Categorias` is never constructed
[INFO] [stderr]    --> src/tp4.rs:488:12
[INFO] [stderr]     |
[INFO] [stderr] 488 | pub struct Categorias{ // se usa en un metodo mas adelante
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Cliente` is never constructed
[INFO] [stderr]    --> src/tp4.rs:500:12
[INFO] [stderr]     |
[INFO] [stderr] 500 | pub struct Cliente{
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InformacionNecesariaParaNewsletter` is never constructed
[INFO] [stderr]    --> src/tp4.rs:504:12
[INFO] [stderr]     |
[INFO] [stderr] 504 | pub struct InformacionNecesariaParaNewsletter{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `OpcionDePago` is never used
[INFO] [stderr]    --> src/tp4.rs:507:10
[INFO] [stderr]     |
[INFO] [stderr] 507 | pub enum OpcionDePago{
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `set_ventas` are never used
[INFO] [stderr]    --> src/tp4.rs:518:12
[INFO] [stderr]     |
[INFO] [stderr] 517 | impl <'a> SistemaDeVentas<'a>{
[INFO] [stderr]     | ----------------------------- associated items in this implementation
[INFO] [stderr] 518 |     pub fn new () -> SistemaDeVentas<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 521 |     pub fn set_ventas(&mut self, ventas:Vec<Venta<'a>>){
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:526:12
[INFO] [stderr]     |
[INFO] [stderr] 525 | impl <'a> Venta<'a>{
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 526 |     pub fn new(fecha:Fecha,productos_vendidos:Vec<&'a Producto>, vendedor:&'a Vendedor, cliente:&'a Cliente, medio_de_pago:OpcionDePago) ...
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:531:12
[INFO] [stderr]     |
[INFO] [stderr] 530 | impl Producto{
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 531 |     pub fn new(nombre:String, categoria:String, precio_base:f32) -> Producto {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:536:12
[INFO] [stderr]     |
[INFO] [stderr] 535 | impl Categorias{
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 536 |     pub fn new() -> Categorias {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:541:12
[INFO] [stderr]     |
[INFO] [stderr] 540 | impl DataPersona{
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 541 |     pub fn new(nombre:String, apellido:String, dirección:String, dni:String) -> DataPersona {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:546:12
[INFO] [stderr]     |
[INFO] [stderr] 545 | impl Vendedor{
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 546 |     pub fn new(data_persona:DataPersona, nro_de_legajo:u32, antigüedad:u32, salario:u32) -> Vendedor {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:551:12
[INFO] [stderr]     |
[INFO] [stderr] 550 | impl Cliente{
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 551 |     pub fn new(data_persona:DataPersona, subscripcion_newsletter:Option<InformacionNecesariaParaNewsletter>) -> Cliente {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:556:12
[INFO] [stderr]     |
[INFO] [stderr] 555 | impl InformacionNecesariaParaNewsletter{
[INFO] [stderr]     | --------------------------------------- associated function in this implementation
[INFO] [stderr] 556 |     pub fn new(descuento:f32, correo:String) -> InformacionNecesariaParaNewsletter {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_porcentaje_de_descuento` is never used
[INFO] [stderr]    --> src/tp4.rs:570:12
[INFO] [stderr]     |
[INFO] [stderr] 569 | impl Categorias{
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 570 |     pub fn get_porcentaje_de_descuento(&self,categoria:&String) -> Option<&f32>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calcular_precio_final` is never used
[INFO] [stderr]    --> src/tp4.rs:575:12
[INFO] [stderr]     |
[INFO] [stderr] 574 | impl<'a> Venta <'a> { // 
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] 575 |     pub fn calcular_precio_final(&self, categorias:Categorias) ->f32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `realizar_reporte` is never used
[INFO] [stderr]    --> src/tp4.rs:587:12
[INFO] [stderr]     |
[INFO] [stderr] 586 | impl<'a> SistemaDeVentas<'a>{
[INFO] [stderr]     | ---------------------------- method in this implementation
[INFO] [stderr] 587 |     pub fn realizar_reporte(&self) -> Visualizacion{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Visualizacion` is never constructed
[INFO] [stderr]    --> src/tp4.rs:596:12
[INFO] [stderr]     |
[INFO] [stderr] 596 | pub struct Visualizacion <'a>{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `agregar_venta_por_categoria_producto`, and `agregar_venta_por_vendedor` are never used
[INFO] [stderr]    --> src/tp4.rs:601:12
[INFO] [stderr]     |
[INFO] [stderr] 600 | impl <'a> Visualizacion <'a>{
[INFO] [stderr]     | ---------------------------- associated items in this implementation
[INFO] [stderr] 601 |     pub fn new() -> Visualizacion<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 604 |     pub fn agregar_venta_por_categoria_producto(&mut self, categoria:String,venta:&'a Venta){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 614 |     pub fn agregar_venta_por_vendedor(&mut self, vendedor:&'a Vendedor,venta:&'a Venta){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Plataforma` is never constructed
[INFO] [stderr]    --> src/tp4.rs:636:12
[INFO] [stderr]     |
[INFO] [stderr] 636 | pub struct Plataforma<'a>{
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DatosDeUsuarioEnLaPlataforma` is never constructed
[INFO] [stderr]    --> src/tp4.rs:669:12
[INFO] [stderr]     |
[INFO] [stderr] 669 | pub struct DatosDeUsuarioEnLaPlataforma<'a> { 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Balances` is never constructed
[INFO] [stderr]    --> src/tp4.rs:676:12
[INFO] [stderr]     |
[INFO] [stderr] 676 | pub struct Balances<'a>{ 
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `monto` is never read
[INFO] [stderr]    --> src/tp4.rs:682:5
[INFO] [stderr]     |
[INFO] [stderr] 680 | pub struct Balance<'a>{ 
[INFO] [stderr]     |            ------- field in this struct
[INFO] [stderr] 681 |     usuario: &'a User, criptomoneda: &'a Criptomoneda<'a>,
[INFO] [stderr] 682 |     monto:f32
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Balance` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Transacciones` is never constructed
[INFO] [stderr]    --> src/tp4.rs:697:12
[INFO] [stderr]     |
[INFO] [stderr] 697 | pub struct Transacciones<'a>{ 
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `IngresoDeDinero`, `CompraDeCripto`, `VentaDeCripto`, `RetiroCripto`, `RecepcionCripto`, and `RetiroFiat` are never constructed
[INFO] [stderr]    --> src/tp4.rs:702:5
[INFO] [stderr]     |
[INFO] [stderr] 701 | pub enum Transaccion<'a>{
[INFO] [stderr]     |          ----------- variants in this enum
[INFO] [stderr] 702 |     IngresoDeDinero{fecha:Fecha,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 706 |     CompraDeCripto{fecha:Fecha, 
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 712 |     VentaDeCripto{fecha:Fecha, 
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 718 |     RetiroCripto{fecha:Fecha, 
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 726 |     RecepcionCripto{fecha:Fecha, 
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 734 |     RetiroFiat { fecha: Fecha,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Transaccion` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `MercadoPago` and `TransferenciaBancaria` are never constructed
[INFO] [stderr]    --> src/tp4.rs:741:5
[INFO] [stderr]     |
[INFO] [stderr] 740 | pub enum Medio{
[INFO] [stderr]     |          ----- variants in this enum
[INFO] [stderr] 741 |     MercadoPago, TransferenciaBancaria
[INFO] [stderr]     |     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Medio` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:745:12
[INFO] [stderr]     |
[INFO] [stderr] 744 | impl User{
[INFO] [stderr]     | --------- associated function in this implementation
[INFO] [stderr] 745 |     pub fn new(nombre: String, apellido: String, email: String, dni: u32 )->User{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:750:12
[INFO] [stderr]     |
[INFO] [stderr] 749 | impl<'a> Plataforma <'a>{
[INFO] [stderr]     | ------------------------ associated function in this implementation
[INFO] [stderr] 750 |     pub fn new(users:&'a HashSet<&'a User>, criptomonedas:HashSet<Criptomoneda<'a>>,blockchains:HashSet<BlockChain>) -> Plataforma<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:757:12
[INFO] [stderr]     |
[INFO] [stderr] 756 | impl<'a> Criptomoneda<'a>{
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 757 |     pub fn new(nombre: String, prefijo: String, blockchains_accedibles: HashSet<&'a BlockChain> ) ->Criptomoneda<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:762:12
[INFO] [stderr]     |
[INFO] [stderr] 761 | impl BlockChain{
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 762 |     pub fn new(nombre: String, prefijo: String ) ->BlockChain{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:767:12
[INFO] [stderr]     |
[INFO] [stderr] 766 | impl<'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stderr]     | ----------------------------------------- associated function in this implementation
[INFO] [stderr] 767 |     pub fn new(usuario:&'a User) ->DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:772:12
[INFO] [stderr]     |
[INFO] [stderr] 771 | impl <'a> Balances<'a>{
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] 772 |     pub fn new() -> Balances<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:777:12
[INFO] [stderr]     |
[INFO] [stderr] 776 | impl <'a> Balance <'a>{
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] 777 |     pub fn new(usuario:&'a User, criptomoneda:&'a Criptomoneda, monto:f32) -> Balance<'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/tp4.rs:782:12
[INFO] [stderr]     |
[INFO] [stderr] 781 | impl <'a> Transacciones <'a>{
[INFO] [stderr]     | ---------------------------- associated function in this implementation
[INFO] [stderr] 782 |     pub fn new() -> Transacciones <'a>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `ingresar_dinero` is never used
[INFO] [stderr]    --> src/tp4.rs:799:12
[INFO] [stderr]     |
[INFO] [stderr] 798 | impl<'a> Plataforma <'a>{
[INFO] [stderr]     | ------------------------ method in this implementation
[INFO] [stderr] 799 |     pub fn ingresar_dinero(&mut self, user:&'a User, monto: f32, hoy:Fecha){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `ingresar_dinero` and `registrar_transaccion` are never used
[INFO] [stderr]    --> src/tp4.rs:808:12
[INFO] [stderr]     |
[INFO] [stderr] 807 | impl <'a> DatosDeUsuarioEnLaPlataforma <'a>{
[INFO] [stderr]     | ------------------------------------------- methods in this implementation
[INFO] [stderr] 808 |     pub fn ingresar_dinero(&mut self, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 811 |     pub fn registrar_transaccion(&mut self, transaccion: Transaccion<'a>){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_data` and `set_data` are never used
[INFO] [stderr]    --> src/tp4.rs:824:12
[INFO] [stderr]     |
[INFO] [stderr] 823 | impl <'a> Transacciones <'a>{
[INFO] [stderr]     | ---------------------------- methods in this implementation
[INFO] [stderr] 824 |     pub fn get_data(&self) -> Option<Vec<Transaccion<'a>>>{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 827 |     pub fn set_data(&mut self, new_data:Option<Vec<Transaccion<'a>>>) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `comprar_criptomoneda` is never used
[INFO] [stderr]    --> src/tp4.rs:841:12
[INFO] [stderr]     |
[INFO] [stderr] 839 | impl<'a> Plataforma<'a>{
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 840 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stderr] 841 |     pub fn comprar_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `esta_validado`, `tiene_al_menos`, `retirar_dinero`, and `agregar_monto_cripto` are never used
[INFO] [stderr]    --> src/tp4.rs:860:12
[INFO] [stderr]     |
[INFO] [stderr] 859 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stderr]     | ------------------------------------------ methods in this implementation
[INFO] [stderr] 860 |     pub fn esta_validado(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 863 |     pub fn tiene_al_menos(&self, monto:f32, criptomoneda:Option<&'a Criptomoneda>) -> bool{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 870 |     pub fn retirar_dinero(&mut self, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 874 |     pub fn agregar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get`, `insert`, and `sumar_monto_a` are never used
[INFO] [stderr]    --> src/tp4.rs:881:12
[INFO] [stderr]     |
[INFO] [stderr] 880 | impl <'a> Balances<'a>{
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] 881 |     pub fn get(&self, cripto: &'a Criptomoneda) -> Option<Balance>{
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 887 |     pub fn insert(&mut self, cripto:&'a Criptomoneda, balance:Balance<'a>) {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 890 |     pub fn sumar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `sumar_monto` is never used
[INFO] [stderr]    --> src/tp4.rs:900:12
[INFO] [stderr]     |
[INFO] [stderr] 899 | impl <'a> Balance <'a> {
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] 900 |     pub fn sumar_monto(&mut self, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `vender_criptomoneda` is never used
[INFO] [stderr]    --> src/tp4.rs:916:12
[INFO] [stderr]     |
[INFO] [stderr] 914 | impl<'a> Plataforma<'a>{
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 915 |     // retorna false si no tiene los fondos suficientes, true en caso de que la operacion se haya realizado con exito
[INFO] [stderr] 916 |     pub fn vender_criptomoneda(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `quitar_monto_cripto` is never used
[INFO] [stderr]    --> src/tp4.rs:935:12
[INFO] [stderr]     |
[INFO] [stderr] 934 | impl <'a> DatosDeUsuarioEnLaPlataforma<'a>{
[INFO] [stderr]     | ------------------------------------------ method in this implementation
[INFO] [stderr] 935 |     pub fn quitar_monto_cripto(&mut self, cripto:&'a Criptomoneda, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `restar_monto_a` is never used
[INFO] [stderr]    --> src/tp4.rs:942:12
[INFO] [stderr]     |
[INFO] [stderr] 941 | impl<'a> Balances<'a>{
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] 942 |     pub fn restar_monto_a(&mut self, cripto:&'a Criptomoneda, monto:f32) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `restar_monto` is never used
[INFO] [stderr]    --> src/tp4.rs:951:12
[INFO] [stderr]     |
[INFO] [stderr] 950 | impl <'a> Balance <'a> { 
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] 951 |     pub fn restar_monto(&mut self, monto:f32){
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `retirar_criptomoneda_a_blockchain` is never used
[INFO] [stderr]    --> src/tp4.rs:966:12
[INFO] [stderr]     |
[INFO] [stderr] 965 | impl<'a> Plataforma<'a> {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 966 |     pub fn retirar_criptomoneda_a_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_hash` is never used
[INFO] [stderr]    --> src/tp4.rs:982:12
[INFO] [stderr]     |
[INFO] [stderr] 981 | impl BlockChain{ //---- WTF
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 982 |     pub fn get_hash(&self) -> String{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `recibir_criptomoneda_de_blockchain` is never used
[INFO] [stderr]    --> src/tp4.rs:993:12
[INFO] [stderr]     |
[INFO] [stderr] 992 | impl<'a> Plataforma<'a> {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 993 |     pub fn recibir_criptomoneda_de_blockchain(&mut self, user:&'a User, hoy:Fecha, criptomoneda:&'a Criptomoneda, 
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `retirar_fiat` is never used
[INFO] [stderr]     --> src/tp4.rs:1015:12
[INFO] [stderr]      |
[INFO] [stderr] 1014 | impl<'a> Plataforma<'a> {
[INFO] [stderr]      | ----------------------- method in this implementation
[INFO] [stderr] 1015 |     pub fn retirar_fiat(&mut self, user:&'a User, hoy:Fecha, monto_de_fiat:f32, medio:Medio ) -> bool
[INFO] [stderr]      |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_cripto_mayor_vendida`, `get_cripto_mayor_comprada`, `get_cripto_con_mayor_volumen_de_ventas`, and `get_cripto_con_mayor__volumen_de_compras` are never used
[INFO] [stderr]     --> src/tp4.rs:1036:12
[INFO] [stderr]      |
[INFO] [stderr] 1035 | impl<'a> Plataforma<'a>{
[INFO] [stderr]      | ----------------------- methods in this implementation
[INFO] [stderr] 1036 |     pub fn get_cripto_mayor_vendida(&self)->&'a Criptomoneda <'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1042 |     pub fn get_cripto_mayor_comprada(&self)->&'a Criptomoneda <'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1048 |     pub fn get_cripto_con_mayor_volumen_de_ventas(&self)->&'a Criptomoneda <'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CantidadYVolumenDeComprasPorCriptomoneda` is never constructed
[INFO] [stderr]     --> src/tp4.rs:1062:12
[INFO] [stderr]      |
[INFO] [stderr] 1062 | pub struct CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `contar`, and `agregar` are never used
[INFO] [stderr]     --> src/tp4.rs:1069:12
[INFO] [stderr]      |
[INFO] [stderr] 1068 | impl <'a>CantidadYVolumenDeComprasPorCriptomoneda<'a>{
[INFO] [stderr]      | ----------------------------------------------------- associated items in this implementation
[INFO] [stderr] 1069 |     pub fn new()-> CantidadYVolumenDeComprasPorCriptomoneda <'a>{
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1072 |     pub fn contar(&mut self,plataforma: &Plataforma<'a>){
[INFO] [stderr]      |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1090 |     fn agregar (criptomoneda:&'a Criptomoneda, hash_map_cantidad:& mut HashMap<&'a Criptomoneda<'a>,u32>,hash_map_volumen:& mut HashMap<&...
[INFO] [stderr]      |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `usuarios` is never read
[INFO] [stderr]    --> src/ricciardi_nicolas_e3.rs:166:5
[INFO] [stderr]     |
[INFO] [stderr] 165 | pub struct Plataforma{
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] 166 |     usuarios:HashMap<u32,User>,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_hash` is never used
[INFO] [stderr]    --> src/ricciardi_nicolas_e3.rs:547:12
[INFO] [stderr]     |
[INFO] [stderr] 546 | impl BlockChain{ 
[INFO] [stderr]     | --------------- method in this implementation
[INFO] [stderr] 547 |     pub fn get_hash(&self) -> String{
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_cripto_id_mayor_comprada`, `get_cripto_id_con_mayor_volumen_de_ventas`, and `get_cripto_id_con_mayor__volumen_de_compras` are never used
[INFO] [stderr]    --> src/ricciardi_nicolas_e3.rs:661:12
[INFO] [stderr]     |
[INFO] [stderr] 654 | impl Plataforma{
[INFO] [stderr]     | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 661 |     pub fn get_cripto_id_mayor_comprada(&self)->u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 667 |     pub fn get_cripto_id_con_mayor_volumen_de_ventas(&self)->u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Seminario_Rust_2023` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `seminario_rust_2023`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej3` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const N_ej3:usize = 4;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ3`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej4` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const N_ej4:usize = 4;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ4`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej5` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub const N_ej5:usize = 4;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ5`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej6` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub const N_ej6:usize = 5;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ6`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej7` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:75:11
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub const N_ej7:usize = 4;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ7`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej8` should have an upper case name
[INFO] [stderr]   --> src/tp2.rs:91:11
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub const N_ej8:usize = 4;
[INFO] [stderr]    |           ^^^^^ help: convert the identifier to upper case: `N_EJ8`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej9` should have an upper case name
[INFO] [stderr]    --> src/tp2.rs:106:11
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub const N_ej9:usize = 4;
[INFO] [stderr]     |           ^^^^^ help: convert the identifier to upper case: `N_EJ9`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej10` should have an upper case name
[INFO] [stderr]    --> src/tp2.rs:120:11
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub const N_ej10:usize = 5;
[INFO] [stderr]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ10`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej11` should have an upper case name
[INFO] [stderr]    --> src/tp2.rs:135:11
[INFO] [stderr]     |
[INFO] [stderr] 135 | pub const N_ej11:usize = 4;
[INFO] [stderr]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ11`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej12` should have an upper case name
[INFO] [stderr]    --> src/tp2.rs:146:11
[INFO] [stderr]     |
[INFO] [stderr] 146 | pub const N_ej12:usize = 5;
[INFO] [stderr]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ12`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `N_ej13` should have an upper case name
[INFO] [stderr]    --> src/tp2.rs:158:11
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub const N_ej13:usize = 5;
[INFO] [stderr]     |           ^^^^^^ help: convert the identifier to upper case: `N_EJ13`
[INFO] [stderr] 
[INFO] [stderr] warning: method `es_BMW` should have a snake case name
[INFO] [stderr]    --> src/tp3.rs:400:12
[INFO] [stderr]     |
[INFO] [stderr] 400 |     pub fn es_BMW(&self) -> bool{
[INFO] [stderr]     |            ^^^^^^ help: convert the identifier to snake case: `es_bmw`
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stderr]   --> src/tp4.rs:65:15
[INFO] [stderr]    |
[INFO] [stderr] 65 |     .map(|p| p.clone())
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: using `.clone()` on a double reference, which returns `&tp4::Persona<'_>` instead of cloning the inner type
[INFO] [stderr]   --> src/tp4.rs:72:74
[INFO] [stderr]    |
[INFO] [stderr] 72 |     personas.iter().filter(|p| p.ciudad==ciudad && p.edad>edad).map(|p| p.clone()).collect()
[INFO] [stderr]    |                                                                          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_cripto_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stderr]     --> src/tp4.rs:1054:12
[INFO] [stderr]      |
[INFO] [stderr] 1054 |     pub fn get_cripto_con_mayor__volumen_de_compras(&self)->&'a Criptomoneda <'a>{
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_con_mayor_volumen_de_compras`
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_cripto_id_con_mayor__volumen_de_compras` should have a snake case name
[INFO] [stderr]    --> src/ricciardi_nicolas_e3.rs:673:12
[INFO] [stderr]     |
[INFO] [stderr] 673 |     pub fn get_cripto_id_con_mayor__volumen_de_compras(&self)->u32{
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `get_cripto_id_con_mayor_volumen_de_compras`
[INFO] [stderr] 
[INFO] [stderr] warning: `Seminario_Rust-2023` (bin "Seminario_Rust-2023" test) generated 236 warnings (run `cargo fix --bin "Seminario_Rust-2023" --tests` to apply 9 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/Seminario_Rust_2023-81641593d5401723)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_es_igual_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_diferencencia_de_meses_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_es_proxima_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::get_cripto_con_mayor_volumen_de_compras ... ignored
[INFO] [stdout] test ricciardi_nicolas_e3::get_cripto_con_mayor_volumen_de_ventas ... ignored
[INFO] [stdout] test ricciardi_nicolas_e3::get_cripto_mayor_comprada_test ... ignored
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_es_mayor_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::restar_dias_cambio_de_anio_fecha_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::get_cripto_mayor_vendida_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::sumar_dias_cambio_de_mes_febrero_anio_bisiesto_fecha_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::restar_dias_cambio_de_mes_a_febrero_anio_no_bisiesto_fecha_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::sumar_dias_cambio_de_anio_fecha_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::transaccion_usuario_no_validado_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f5169542d6 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test::heb98a5e84df30142
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:436:26
[INFO] [stdout]   30:     0x55f5169542a7 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test::{{closure}}::h9ef922c550261796
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:435:74
[INFO] [stdout]   31:     0x55f516970596 - core::ops::function::FnOnce::call_once::h06070fe2192c8f93
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954466 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test::h24535d81f6419bf4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:443:26
[INFO] [stdout]   30:     0x55f516954437 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test::{{closure}}::h92343280b6c6d5ee
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:442:74
[INFO] [stdout]   31:     0x55f516971186 - core::ops::function::FnOnce::call_once::hcd18e2e92df9f146
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::get_cripto_mayor_vendida_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::get_cripto_mayor_vendida_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516955acc - Seminario_Rust_2023::ricciardi_nicolas_e3::get_cripto_mayor_vendida_test::hbd4e2638e1005489
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:773:26
[INFO] [stdout]   30:     0x55f516955a27 - Seminario_Rust_2023::ricciardi_nicolas_e3::get_cripto_mayor_vendida_test::{{closure}}::h481c0040f25137be
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:767:35
[INFO] [stdout]   31:     0x55f516970856 - core::ops::function::FnOnce::call_once::h291cac336db70de6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516955321 - Seminario_Rust_2023::ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test::h861d98ae2018d336
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:598:26
[INFO] [stdout]   30:     0x55f5169552f7 - Seminario_Rust_2023::ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test::{{closure}}::h0bc28cf85ea314e5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:597:45
[INFO] [stdout]   31:     0x55f5169708f6 - core::ops::function::FnOnce::call_once::h2c8ccb8c6dc737f5
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516955826 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test::h899b39a6d822b686
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:638:26
[INFO] [stdout]   30:     0x55f5169557f7 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::h9bebeb1a3fc56ff7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:637:68
[INFO] [stdout]   31:     0x55f516970b46 - core::ops::function::FnOnce::call_once::h647002324b755ab0
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954fb6 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test::h433a8dd72f7c8973
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:563:26
[INFO] [stdout]   30:     0x55f516954f87 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::hfdae49e4bb9b6ec0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:562:89
[INFO] [stdout]   31:     0x55f5169705d6 - core::ops::function::FnOnce::call_once::h074c83ceb37fb526
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stderr] error: test failed, to rerun pass `--bin Seminario_Rust-2023`
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954d96 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test::h169aac168bd6efe1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:553:26
[INFO] [stdout]   30:     0x55f516954d67 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::h1830456ee4410994
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:552:89
[INFO] [stdout]   31:     0x55f516970f86 - core::ops::function::FnOnce::call_once::ha1d79541f7520b28
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516955606 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test::hda25792b76ac99ef
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:628:26
[INFO] [stdout]   30:     0x55f5169555d7 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::h5e1ee4042d27bda3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:627:68
[INFO] [stdout]   31:     0x55f5169712c6 - core::ops::function::FnOnce::call_once::hdbd6894e2a9b159c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516953f81 - Seminario_Rust_2023::ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test::h7150537bd2d3e970
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:368:26
[INFO] [stdout]   30:     0x55f516953f57 - Seminario_Rust_2023::ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test::{{closure}}::h79c9b54ae621957f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:367:64
[INFO] [stdout]   31:     0x55f516970e66 - core::ops::function::FnOnce::call_once::h88db82a64d993cf3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::transaccion_usuario_no_validado_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::transaccion_usuario_no_validado_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954151 - Seminario_Rust_2023::ricciardi_nicolas_e3::transaccion_usuario_no_validado_test::h5819656f1a5348b8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:430:26
[INFO] [stdout]   30:     0x55f516954127 - Seminario_Rust_2023::ricciardi_nicolas_e3::transaccion_usuario_no_validado_test::{{closure}}::h15f5cfc8af8a274c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:429:42
[INFO] [stdout]   31:     0x55f516970a66 - core::ops::function::FnOnce::call_once::h5636f6fa224668aa
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954806 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test::h209d5c579fd22c2c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:498:26
[INFO] [stdout]   30:     0x55f5169547d7 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::hb1db4d38750a16a2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:497:75
[INFO] [stdout]   31:     0x55f516970b06 - core::ops::function::FnOnce::call_once::h6014d3df5d4ac07c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test stdout ----
[INFO] [stdout] thread 'ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test' panicked at src/ricciardi_nicolas_e3.rs:921:23:
[INFO] [stdout] No se puede crear porque: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55f5169ed88c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x55f5169ed88c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55f5169ed88c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x55f5169ed88c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x55f516a17de0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x55f516a17de0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x55f5169eb23f - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x55f5169ed674 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x55f5169ed674 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x55f5169ef337 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x55f5169ef023 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x55f5169bda27 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x55f5169bda27 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x55f5169ef948 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x55f5169ef948 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x55f5169ef69e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x55f5169edd56 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x55f5169ef402 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x55f51692fcf5 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x55f516946dcb - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h5ac417f3fd8cebd8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   20:     0x55f5169473b4 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::hef28db3d1e82dd53
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   21:     0x55f516947431 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h732c8d0965981343
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   22:     0x55f516942f80 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::he371920a0965fe85
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   23:     0x55f516942e7c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::he450bd54609b2413
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   24:     0x55f51696bedc - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::hf1136dde650bb48e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:855:29
[INFO] [stdout]   25:     0x55f5169773cc - core::iter::traits::iterator::Iterator::fold::h111a44afb5fe1a9f
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:2640:21
[INFO] [stdout]   26:     0x55f516977814 - core::iter::traits::iterator::Iterator::for_each::ha04b54827797ce44
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/iter/traits/iterator.rs:858:9
[INFO] [stdout]   27:     0x55f516942cba - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h5196eae0a17428f4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   28:     0x55f516943d18 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hfe0f96fb68645968
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   29:     0x55f516954a26 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test::h1d8faf3bdbf4f152
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:508:26
[INFO] [stdout]   30:     0x55f5169549f7 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::h1a1eb95d89770ba4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:507:75
[INFO] [stdout]   31:     0x55f516970c46 - core::ops::function::FnOnce::call_once::h6ffc15a243b5f2da
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x55f5169c307f - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   33:     0x55f5169c307f - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   34:     0x55f5169c2095 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   35:     0x55f5169c2095 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x55f5169c2095 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x55f5169c2095 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x55f5169c2095 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x55f5169c2095 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   40:     0x55f5169c2095 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   41:     0x55f51698a356 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   42:     0x55f51698a356 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   43:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   44:     0x55f51698f407 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   45:     0x55f51698f407 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   46:     0x55f51698f407 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   47:     0x55f51698f407 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   48:     0x55f51698f407 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   49:     0x55f51698f407 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   51:     0x55f5169f43d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   52:     0x55f5169f43d5 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   53:     0x7fd2b7a9cac3 - <unknown>
[INFO] [stdout]   54:     0x7fd2b7b2dbf4 - __clone
[INFO] [stdout]   55:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test
[INFO] [stdout]     ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test
[INFO] [stdout]     ricciardi_nicolas_e3::get_cripto_mayor_vendida_test
[INFO] [stdout]     ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test
[INFO] [stdout]     ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test
[INFO] [stdout]     ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test
[INFO] [stdout]     ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test
[INFO] [stdout]     ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test
[INFO] [stdout]     ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test
[INFO] [stdout]     ricciardi_nicolas_e3::transaccion_usuario_no_validado_test
[INFO] [stdout]     ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test
[INFO] [stdout]     ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 8 passed; 12 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "138bc57e49d75cf5f40cf63e3324a2198c153df61bd3f2fe5bb4ad59fd8ed4e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "138bc57e49d75cf5f40cf63e3324a2198c153df61bd3f2fe5bb4ad59fd8ed4e1", kill_on_drop: false }`
[INFO] [stdout] 138bc57e49d75cf5f40cf63e3324a2198c153df61bd3f2fe5bb4ad59fd8ed4e1
