[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 beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNack34%2FSeminario_Rust-2023" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  44% (946/2128)
Updating files:  45% (958/2128)
Updating files:  46% (979/2128)
Updating files:  47% (1001/2128)
Updating files:  48% (1022/2128)
Updating files:  49% (1043/2128)
Updating files:  50% (1064/2128)
Updating files:  51% (1086/2128)
Updating files:  52% (1107/2128)
Updating files:  53% (1128/2128)
Updating files:  54% (1150/2128)
Updating files:  55% (1171/2128)
Updating files:  56% (1192/2128)
Updating files:  57% (1213/2128)
Updating files:  58% (1235/2128)
Updating files:  59% (1256/2128)
Updating files:  60% (1277/2128)
Updating files:  61% (1299/2128)
Updating files:  62% (1320/2128)
Updating files:  63% (1341/2128)
Updating files:  64% (1362/2128)
Updating files:  65% (1384/2128)
Updating files:  65% (1387/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:  75% (1596/2128)
Updating files:  75% (1597/2128)
Updating files:  75% (1617/2128)
Updating files:  76% (1618/2128)
Updating files:  77% (1639/2128)
Updating files:  78% (1660/2128)
Updating files:  78% (1674/2128)
Updating files:  79% (1682/2128)
Updating files:  80% (1703/2128)
Updating files:  81% (1724/2128)
Updating files:  81% (1736/2128)
Updating files:  82% (1745/2128)
Updating files:  83% (1767/2128)
Updating files:  84% (1788/2128)
Updating files:  84% (1793/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% (1899/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 beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "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-7-tc2/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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 92627d0fb931b1289df35019daed23b76530e332532ca7cef774347722b32328
[INFO] running `Command { std: "docker" "start" "-a" "92627d0fb931b1289df35019daed23b76530e332532ca7cef774347722b32328", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "92627d0fb931b1289df35019daed23b76530e332532ca7cef774347722b32328", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92627d0fb931b1289df35019daed23b76530e332532ca7cef774347722b32328", kill_on_drop: false }`
[INFO] [stdout] 92627d0fb931b1289df35019daed23b76530e332532ca7cef774347722b32328
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b0e4d7c2115a4202932b64e751317809cb4c1ded98e6e8ce5817df5e0179746b
[INFO] running `Command { std: "docker" "start" "-a" "b0e4d7c2115a4202932b64e751317809cb4c1ded98e6e8ce5817df5e0179746b", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling serde v1.0.164
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling semver v1.0.17
[INFO] [stderr]    Compiling log v0.4.18
[INFO] [stderr]    Compiling flate2 v1.0.26
[INFO] [stderr]    Compiling indexmap v1.8.2
[INFO] [stderr]    Compiling io-lifetimes v1.0.11
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling camino v1.1.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.57
[INFO] [stderr]    Compiling rustix v0.36.14
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling hashbrown v0.11.2
[INFO] [stderr]    Compiling anyhow v1.0.71
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling getrandom v0.2.9
[INFO] [stderr]    Compiling curl v0.4.44
[INFO] [stderr]    Compiling chrono v0.4.26
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling socket2 v0.4.9
[INFO] [stderr]    Compiling rustc_version v0.4.0
[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 gzip-header v0.3.0
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling llvm_profparser v0.3.3
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling paste v1.0.12
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling rustversion v1.0.12
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling procfs v0.15.1
[INFO] [stderr]    Compiling regex-syntax v0.7.2
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling linux-raw-sys v0.1.4
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling deflate v0.8.6
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling matchers v0.0.1
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling cargo-tarpaulin v0.25.2
[INFO] [stderr]    Compiling url v2.4.0
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling serde_derive v1.0.164
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling tracing-attributes v0.1.24
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling regex v1.8.4
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling tracing-log v0.1.3
[INFO] [stderr]    Compiling object v0.26.2
[INFO] [stderr]    Compiling sharded-slab v0.1.4
[INFO] [stderr]    Compiling humantime v2.1.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling nix v0.26.2
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling walkdir v2.3.3
[INFO] [stderr]    Compiling tracing v0.1.37
[INFO] [stderr]    Compiling tracing-subscriber v0.2.25
[INFO] [stderr]    Compiling random-number-macro-impl v0.1.7
[INFO] [stderr]    Compiling faux_macros v0.1.9
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling num_cpus v1.15.0
[INFO] [stderr]    Compiling object v0.30.4
[INFO] [stderr]    Compiling quick-xml v0.28.2
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling heck v0.4.1
[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 humantime-serde v1.1.1
[INFO] [stderr]    Compiling toml v0.5.11
[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` and `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`, and `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: struct `Fecha` is never constructed
[INFO] [stdout]   --> src/tp3.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fecha{    
[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: enum `Color` is never used
[INFO] [stdout]    --> src/tp3.rs:371:10
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum Color{
[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: struct `Auto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:375:12
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct Auto{ 
[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: method `es_primo` is never used
[INFO] [stdout]  --> src/tp4.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait chequear_es_primo {
[INFO] [stdout]   |           ----------------- method in this trait
[INFO] [stdout] 9 |     fn es_primo(&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: enum `MedioDePago` is never used
[INFO] [stdout]    --> src/tp4.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum MedioDePago {
[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: enum `Transaccion` is never used
[INFO] [stdout]    --> src/tp4.rs:701:10
[INFO] [stdout]     |
[INFO] [stdout] 701 | pub enum Transaccion<'a>{
[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: enum `Medio` is never used
[INFO] [stdout]    --> src/tp4.rs:740:10
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub enum Medio{
[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: method `reset_file` is never used
[INFO] [stdout]    --> src/ricciardi_nicolas_e3.rs:889:8
[INFO] [stdout]     |
[INFO] [stdout] 887 | pub trait ManejadorDeArchivosJson 
[INFO] [stdout]     |           ----------------------- method in this trait
[INFO] [stdout] 888 | {
[INFO] [stdout] 889 |     fn reset_file(&self);
[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: 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]     = note: `#[warn(non_snake_case)]` 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: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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 52s
[INFO] running `Command { std: "docker" "inspect" "b0e4d7c2115a4202932b64e751317809cb4c1ded98e6e8ce5817df5e0179746b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0e4d7c2115a4202932b64e751317809cb4c1ded98e6e8ce5817df5e0179746b", kill_on_drop: false }`
[INFO] [stdout] b0e4d7c2115a4202932b64e751317809cb4c1ded98e6e8ce5817df5e0179746b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad14823fe99a505a674e09fe686067b7286f92117fcbc99f236dd29ffdf74a40
[INFO] running `Command { std: "docker" "start" "-a" "ad14823fe99a505a674e09fe686067b7286f92117fcbc99f236dd29ffdf74a40", 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` and `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`, and `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: struct `Fecha` is never constructed
[INFO] [stdout]   --> src/tp3.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Fecha{    
[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: enum `Color` is never used
[INFO] [stdout]    --> src/tp3.rs:371:10
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub enum Color{
[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: struct `Auto` is never constructed
[INFO] [stdout]    --> src/tp3.rs:375:12
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub struct Auto{ 
[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: method `es_primo` is never used
[INFO] [stdout]  --> src/tp4.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait chequear_es_primo {
[INFO] [stdout]   |           ----------------- method in this trait
[INFO] [stdout] 9 |     fn es_primo(&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: enum `MedioDePago` is never used
[INFO] [stdout]    --> src/tp4.rs:163:10
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub enum MedioDePago {
[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: enum `Transaccion` is never used
[INFO] [stdout]    --> src/tp4.rs:701:10
[INFO] [stdout]     |
[INFO] [stdout] 701 | pub enum Transaccion<'a>{
[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: enum `Medio` is never used
[INFO] [stdout]    --> src/tp4.rs:740:10
[INFO] [stdout]     |
[INFO] [stdout] 740 | pub enum Medio{
[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: 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]     = note: `#[warn(non_snake_case)]` 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: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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.54s
[INFO] running `Command { std: "docker" "inspect" "ad14823fe99a505a674e09fe686067b7286f92117fcbc99f236dd29ffdf74a40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad14823fe99a505a674e09fe686067b7286f92117fcbc99f236dd29ffdf74a40", kill_on_drop: false }`
[INFO] [stdout] ad14823fe99a505a674e09fe686067b7286f92117fcbc99f236dd29ffdf74a40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e7e3a919226fc786009b0c79ead0dd9b2d5ae5690a456c0805dca3bded44479e
[INFO] running `Command { std: "docker" "start" "-a" "e7e3a919226fc786009b0c79ead0dd9b2d5ae5690a456c0805dca3bded44479e", 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` and `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`, and `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: struct `Fecha` is never constructed
[INFO] [stderr]   --> src/tp3.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub struct Fecha{    
[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: enum `Color` is never used
[INFO] [stderr]    --> src/tp3.rs:371:10
[INFO] [stderr]     |
[INFO] [stderr] 371 | pub enum Color{
[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: struct `Auto` is never constructed
[INFO] [stderr]    --> src/tp3.rs:375:12
[INFO] [stderr]     |
[INFO] [stderr] 375 | pub struct Auto{ 
[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: method `es_primo` is never used
[INFO] [stderr]  --> src/tp4.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub trait chequear_es_primo {
[INFO] [stderr]   |           ----------------- method in this trait
[INFO] [stderr] 9 |     fn es_primo(&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: enum `MedioDePago` is never used
[INFO] [stderr]    --> src/tp4.rs:163:10
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub enum MedioDePago {
[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: enum `Transaccion` is never used
[INFO] [stderr]    --> src/tp4.rs:701:10
[INFO] [stderr]     |
[INFO] [stderr] 701 | pub enum Transaccion<'a>{
[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: enum `Medio` is never used
[INFO] [stderr]    --> src/tp4.rs:740:10
[INFO] [stderr]     |
[INFO] [stderr] 740 | pub enum Medio{
[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: 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]     = note: `#[warn(non_snake_case)]` 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: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 7 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/Seminario_Rust_2023-a453c7d18748de28)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_diferencencia_de_meses_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::fecha_es_mayor_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_proxima_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::restar_dias_cambio_de_anio_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::fecha_es_igual_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::get_cripto_mayor_vendida_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::sumar_dias_cambio_de_anio_fecha_test ... ok
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_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::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::transaccion_usuario_no_validado_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test ... FAILED
[INFO] [stdout] test ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_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] 
[INFO] [stdout] failures:
[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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c8b36 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test::hdc9c0980ef5f7eb9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:443:26
[INFO] [stdout]   33:     0x55a56e9c8b07 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_con_suficiente_fondo_fiat_test::{{closure}}::he53ea94b298286fe
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:442:74
[INFO] [stdout]   34:     0x55a56e9e1a16 - core::ops::function::FnOnce::call_once::h1d3fdf4d724b06b3
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9ca25c - Seminario_Rust_2023::ricciardi_nicolas_e3::get_cripto_mayor_vendida_test::h0553fd47048b928c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:773:26
[INFO] [stdout]   33:     0x55a56e9ca1b7 - Seminario_Rust_2023::ricciardi_nicolas_e3::get_cripto_mayor_vendida_test::{{closure}}::he0e232efedd92f2f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:767:35
[INFO] [stdout]   34:     0x55a56e9e21f6 - core::ops::function::FnOnce::call_once::h6a86f413529f1073
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c96c6 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test::hb4bfd4c0fb5096a1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:563:26
[INFO] [stdout]   33:     0x55a56e9c9697 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::ha9fd271b8cdc2011
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:562:89
[INFO] [stdout]   34:     0x55a56e9e1d36 - core::ops::function::FnOnce::call_once::h35a1fe1c32debf7f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c9a81 - Seminario_Rust_2023::ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test::hfe8284e37c9611a1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:598:26
[INFO] [stdout]   33:     0x55a56e9c9a57 - Seminario_Rust_2023::ricciardi_nicolas_e3::recibir_criptomoneda_de_blockchain_test::{{closure}}::hc96128a3b10a3d83
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:597:45
[INFO] [stdout]   34:     0x55a56e9e1e16 - core::ops::function::FnOnce::call_once::h3be8aba2b30986ef
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c8661 - Seminario_Rust_2023::ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test::h67167282585bb91b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:368:26
[INFO] [stdout]   33:     0x55a56e9c8637 - Seminario_Rust_2023::ricciardi_nicolas_e3::ingresar_dinero_a_usuario_y_registrar_dos_transaccion_test::{{closure}}::he2412127c00dced9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:367:64
[INFO] [stdout]   34:     0x55a56e9e25b6 - core::ops::function::FnOnce::call_once::hd9df6079158a157b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c9fa6 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test::h4140997911d10674
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:638:26
[INFO] [stdout]   33:     0x55a56e9c9f77 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::hd06da7db7f975e19
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:637:68
[INFO] [stdout]   34:     0x55a56e9e2396 - core::ops::function::FnOnce::call_once::h897c70be1593d62d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                0x0 - <unknown>
[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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c89b6 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test::h43530e0a0f8bb1d8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:436:26
[INFO] [stdout]   33:     0x55a56e9c8987 - Seminario_Rust_2023::ricciardi_nicolas_e3::comprar_criptomoneda_usuario_validado_sin_suficiente_fondo_fiat_test::{{closure}}::hc8fa936a178f8afd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:435:74
[INFO] [stdout]   34:     0x55a56e9e2716 - core::ops::function::FnOnce::call_once::heef2e7effc571bb4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c9da6 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test::h930aceacd88601c4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:628:26
[INFO] [stdout]   33:     0x55a56e9c9d77 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_fiat_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::hf529aacc693c6410
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:627:68
[INFO] [stdout]   34:     0x55a56e9e19d6 - core::ops::function::FnOnce::call_once::h17c03971eb05eb2d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c8851 - Seminario_Rust_2023::ricciardi_nicolas_e3::transaccion_usuario_no_validado_test::hab5ffd84e2d7c2c4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:430:26
[INFO] [stdout]   33:     0x55a56e9c8827 - Seminario_Rust_2023::ricciardi_nicolas_e3::transaccion_usuario_no_validado_test::{{closure}}::h988e1fa78268133b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:429:42
[INFO] [stdout]   34:     0x55a56e9e2196 - core::ops::function::FnOnce::call_once::h60a81eb7bee6f776
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c9116 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test::hccf04ad905362ed5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:508:26
[INFO] [stdout]   33:     0x55a56e9c90e7 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_con_suficiente_fondo_cripto_test::{{closure}}::hcaa002063fdffe13
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:507:75
[INFO] [stdout]   34:     0x55a56e9e1f86 - core::ops::function::FnOnce::call_once::h4b751c8318879ba6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c8f16 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test::h9f422c996bc055bf
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:498:26
[INFO] [stdout]   33:     0x55a56e9c8ee7 - Seminario_Rust_2023::ricciardi_nicolas_e3::vender_criptomoneda_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::h977ca2e7b27671a6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:497:75
[INFO] [stdout]   34:     0x55a56e9e2416 - core::ops::function::FnOnce::call_once::h9cd2d00e8d32100b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55a56ea6e23a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x55a56ea6e23a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x55a56ea6e23a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x55a56ea6e23a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x55a56ea947d3 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x55a56ea947d3 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x55a56ea6b3d3 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x55a56ea6e082 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x55a56ea6f6bd - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x55a56ea6f4c7 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x55a56ea36ba7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x55a56ea36ba7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x55a56ea6fd68 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x55a56ea6fd68 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x55a56ea6fb2a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x55a56ea6e719 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x55a56ea6f7bc - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x55a56e9a4ab0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x55a56e9bbcf7 - Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson::escribir_archivo::h4f696fd87d4751ba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:921:23
[INFO] [stdout]   19:     0x55a56e9bbd44 - <Seminario_Rust_2023::ricciardi_nicolas_e3::Balances as Seminario_Rust_2023::ricciardi_nicolas_e3::ManejadorDeArchivosJson>::reset_file::ha69b8a19336dbbfd
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:939:9
[INFO] [stdout]   20:     0x55a56e9bbdd1 - Seminario_Rust_2023::ricciardi_nicolas_e3::Balances::new::h668d97d76d63ae29
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:954:9
[INFO] [stdout]   21:     0x55a56e9b7640 - Seminario_Rust_2023::ricciardi_nicolas_e3::DatosDeUsuarioEnLaPlataforma::new::hf7f0bfad3892c47d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:275:106
[INFO] [stdout]   22:     0x55a56e9b753c - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::{{closure}}::hc5fc3281fd4e2d1b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:72
[INFO] [stdout]   23:     0x55a56e9e84e8 - core::iter::traits::iterator::Iterator::for_each::call::{{closure}}::h44caaa5f17bb0001
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:797:29
[INFO] [stdout]   24:     0x55a56e9ea66b - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::{{closure}}::h5ae6c2e0b4120688
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3191:13
[INFO] [stdout]   25:     0x55a56e9a92d4 - hashbrown::raw::RawIterRange<T>::fold_impl::h6fbd0b697cdf662b
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3604:23
[INFO] [stdout]   26:     0x55a56e9ea517 - <hashbrown::raw::RawIter<T> as core::iter::traits::iterator::Iterator>::fold::h15cd80bd06cf9df8
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/raw/mod.rs:3768:18
[INFO] [stdout]   27:     0x55a56e9ea517 - <hashbrown::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::haf1e899d1a4dd1a3
[INFO] [stdout]                                at /rust/deps/hashbrown-0.15.0/src/map.rs:3189:20
[INFO] [stdout]   28:     0x55a56e9e5bd2 - <std::collections::hash::map::Iter<K,V> as core::iter::traits::iterator::Iterator>::fold::h5cd8206343320331
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/collections/hash/map.rs:2383:9
[INFO] [stdout]   29:     0x55a56e9e846a - core::iter::traits::iterator::Iterator::for_each::hb366646a05b2d45c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/iter/traits/iterator.rs:800:9
[INFO] [stdout]   30:     0x55a56e9b7382 - Seminario_Rust_2023::ricciardi_nicolas_e3::Plataforma::new::h81ce312d8bb89149
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:259:9
[INFO] [stdout]   31:     0x55a56e9b8448 - Seminario_Rust_2023::ricciardi_nicolas_e3::crear_plataforma_para_test::hb5d131a6ffa9f4c9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:350:26
[INFO] [stdout]   32:     0x55a56e9c94c6 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test::ha290f8bce3d004c7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:553:26
[INFO] [stdout]   33:     0x55a56e9c9497 - Seminario_Rust_2023::ricciardi_nicolas_e3::retirar_criptomoneda_a_blockchain_usuario_validado_sin_suficiente_fondo_cripto_test::{{closure}}::h85805d75c4f6ba03
[INFO] [stdout]                                at /opt/rustwide/workdir/src/ricciardi_nicolas_e3.rs:552:89
[INFO] [stdout]   34:     0x55a56e9e1cf6 - core::ops::function::FnOnce::call_once::h357b165c2d9342d9
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   35:     0x55a56ea3b6cb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   36:     0x55a56ea3b6cb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   37:     0x55a56ea3b0b8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   38:     0x55a56ea3b0b8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   39:     0x55a56ea3b0b8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   40:     0x55a56ea3b0b8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   41:     0x55a56ea3b0b8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   42:     0x55a56ea3b0b8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   43:     0x55a56ea3b0b8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   44:     0x55a56e9feb5a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   45:     0x55a56e9feb5a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   46:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   47:     0x55a56ea024d4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   48:     0x55a56ea024d4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   49:     0x55a56ea024d4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   50:     0x55a56ea024d4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   51:     0x55a56ea024d4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   52:     0x55a56ea024d4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   53:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   54:     0x55a56ea73cbb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   55:     0x55a56ea73cbb - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   56:     0x72f955ab6ac3 - <unknown>
[INFO] [stdout]   57:     0x72f955b47a04 - clone
[INFO] [stdout]   58:                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.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin Seminario_Rust-2023`
[INFO] running `Command { std: "docker" "inspect" "e7e3a919226fc786009b0c79ead0dd9b2d5ae5690a456c0805dca3bded44479e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7e3a919226fc786009b0c79ead0dd9b2d5ae5690a456c0805dca3bded44479e", kill_on_drop: false }`
[INFO] [stdout] e7e3a919226fc786009b0c79ead0dd9b2d5ae5690a456c0805dca3bded44479e
