[INFO] cloning repository https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKev287mejia%2FLenguaje-Desarrollo-Espa-ol", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKev287mejia%2FLenguaje-Desarrollo-Espa-ol'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 381f21ecf300a72d2b33e83ee2f8a295d83e41b4
[INFO] checking Kev287mejia/Lenguaje-Desarrollo-Espa-ol against c9ff496891c278ad660bc0ab85c1f0b72059464a for pr-160491
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKev287mejia%2FLenguaje-Desarrollo-Espa-ol" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol
[INFO] finished tweaking git repo https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol
[INFO] tweaked toml for git repo https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol on toolchain c9ff496891c278ad660bc0ab85c1f0b72059464a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Kev287mejia/Lenguaje-Desarrollo-Espa-ol 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" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos-derive v0.14.4
[INFO] [stderr]   Downloaded logos-codegen v0.14.4
[INFO] [stderr]   Downloaded cranelift-bitset v0.112.3
[INFO] [stderr]   Downloaded cranelift-control v0.112.3
[INFO] [stderr]   Downloaded cranelift-native v0.112.3
[INFO] [stderr]   Downloaded cranelift-object v0.112.3
[INFO] [stderr]   Downloaded cranelift-module v0.112.3
[INFO] [stderr]   Downloaded console v0.16.3
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.112.3
[INFO] [stderr]   Downloaded cranelift-entity v0.112.3
[INFO] [stderr]   Downloaded cranelift-bforest v0.112.3
[INFO] [stderr]   Downloaded cranelift-frontend v0.112.3
[INFO] [stderr]   Downloaded insta v1.47.2
[INFO] [stderr]   Downloaded cranelift-isle v0.112.3
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.112.3
[INFO] [stderr]   Downloaded regalloc2 v0.10.2
[INFO] [stderr]   Downloaded cranelift-codegen v0.112.3
[INFO] [stderr]   Downloaded logos v0.14.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965
[INFO] running `Command { std: "docker" "start" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965" "/opt/rustwide/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965" "/opt/rustwide/cargo-home/bin/cargo" "+c9ff496891c278ad660bc0ab85c1f0b72059464a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.50
[INFO] [stderr]    Compiling cranelift-isle v0.112.3
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.112.3
[INFO] [stderr]     Checking cranelift-bitset v0.112.3
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]     Checking arbitrary v1.4.2
[INFO] [stderr]     Checking slice-group-by v0.3.1
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]     Checking gimli v0.29.0
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.112.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]     Checking bitflags v2.12.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]     Checking cranelift-entity v0.112.3
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking cranelift-bforest v0.112.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking normalize-line-endings v0.3.0
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking cranelift-control v0.112.3
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]    Compiling cranelift-codegen v0.112.3
[INFO] [stderr]     Checking insta v1.47.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling logos-codegen v0.14.4
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling logos-derive v0.14.4
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking logos v0.14.4
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking regalloc2 v0.10.2
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking lsp-types v0.94.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking cranelift-module v0.112.3
[INFO] [stderr]     Checking cranelift-frontend v0.112.3
[INFO] [stderr]     Checking cranelift-native v0.112.3
[INFO] [stderr]     Checking cranelift-object v0.112.3
[INFO] [stderr]     Checking tower-lsp v0.20.0
[INFO] [stderr]     Checking mejia v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `prefijo`
[INFO] [stdout]    --> src/codegen.rs:193:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         for (prefijo, decl) in &todas {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefijo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span_dummy`
[INFO] [stdout]    --> src/codegen.rs:324:21
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 let span_dummy = crate::span::Span::vacio();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_span_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tamano`
[INFO] [stdout]     --> src/codegen.rs:1437:28
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 let (slot, tamano) = match &tipo {
[INFO] [stdout]      |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tamano`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_type`
[INFO] [stdout]     --> src/codegen.rs:1772:37
[INFO] [stdout]      |
[INFO] [stdout] 1772 | ...                   let cranelift_type = self.tipo_a_cranelift(&tipo_campo);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:1779:39
[INFO] [stdout]      |
[INFO] [stdout] 1779 |             Sentencia::Retornar(expr, span) => {
[INFO] [stdout]      |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefijo`
[INFO] [stdout]    --> src/codegen.rs:193:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         for (prefijo, decl) in &todas {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefijo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nw_i32`
[INFO] [stdout]     --> src/codegen.rs:2327:13
[INFO] [stdout]      |
[INFO] [stdout] 2327 |         let nw_i32 = builder.ins().iconst(types::I32, 0); // placeholder, usaremos num_workers real
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nw_i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span_dummy`
[INFO] [stdout]    --> src/codegen.rs:324:21
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 let span_dummy = crate::span::Span::vacio();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_span_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_ptr`
[INFO] [stdout]     --> src/codegen.rs:2551:17
[INFO] [stdout]      |
[INFO] [stdout] 2551 |             let null_ptr = builder.ins().iconst(types::I64, 0);
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wfs_ref`
[INFO] [stdout]     --> src/codegen.rs:2566:17
[INFO] [stdout]      |
[INFO] [stdout] 2566 |             let wfs_ref = self.module.declare_func_in_func(wfs_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wfs_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_mutex_ref`
[INFO] [stdout]     --> src/codegen.rs:2575:17
[INFO] [stdout]      |
[INFO] [stdout] 2575 |             let rel_mutex_ref = self.module.declare_func_in_func(rel_mutex_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_mutex_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2695:48
[INFO] [stdout]      |
[INFO] [stdout] 2695 |             Expresion::LiteralArray(elementos, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2823:40
[INFO] [stdout]      |
[INFO] [stdout] 2823 |                     Literal::Entero(n, span) => {
[INFO] [stdout]      |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2826:41
[INFO] [stdout]      |
[INFO] [stdout] 2826 |                     Literal::Palabra(s, span) => {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3279:35
[INFO] [stdout]      |
[INFO] [stdout] 3279 |             Expresion::Ruta(path, span) => {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3286:42
[INFO] [stdout]      |
[INFO] [stdout] 3286 |             Expresion::Propagacion(expr, span) => {
[INFO] [stdout]      |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3345:48
[INFO] [stdout]      |
[INFO] [stdout] 3345 |             Expresion::Closure(params, cuerpo, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resultado_slot`
[INFO] [stdout]     --> src/codegen.rs:3449:21
[INFO] [stdout]      |
[INFO] [stdout] 3449 |                 let resultado_slot = builder.create_sized_stack_slot(
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resultado_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tamano`
[INFO] [stdout]     --> src/codegen.rs:1437:28
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 let (slot, tamano) = match &tipo {
[INFO] [stdout]      |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tamano`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_type`
[INFO] [stdout]     --> src/codegen.rs:1772:37
[INFO] [stdout]      |
[INFO] [stdout] 1772 | ...                   let cranelift_type = self.tipo_a_cranelift(&tipo_campo);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:1779:39
[INFO] [stdout]      |
[INFO] [stdout] 1779 |             Sentencia::Retornar(expr, span) => {
[INFO] [stdout]      |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nw_i32`
[INFO] [stdout]     --> src/codegen.rs:2327:13
[INFO] [stdout]      |
[INFO] [stdout] 2327 |         let nw_i32 = builder.ins().iconst(types::I32, 0); // placeholder, usaremos num_workers real
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nw_i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_ptr`
[INFO] [stdout]     --> src/codegen.rs:2551:17
[INFO] [stdout]      |
[INFO] [stdout] 2551 |             let null_ptr = builder.ins().iconst(types::I64, 0);
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wfs_ref`
[INFO] [stdout]     --> src/codegen.rs:2566:17
[INFO] [stdout]      |
[INFO] [stdout] 2566 |             let wfs_ref = self.module.declare_func_in_func(wfs_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wfs_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_mutex_ref`
[INFO] [stdout]     --> src/codegen.rs:2575:17
[INFO] [stdout]      |
[INFO] [stdout] 2575 |             let rel_mutex_ref = self.module.declare_func_in_func(rel_mutex_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_mutex_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5041:13
[INFO] [stdout]      |
[INFO] [stdout] 5041 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5042:13
[INFO] [stdout]      |
[INFO] [stdout] 5042 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5664:13
[INFO] [stdout]      |
[INFO] [stdout] 5664 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5665:13
[INFO] [stdout]      |
[INFO] [stdout] 5665 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5684:13
[INFO] [stdout]      |
[INFO] [stdout] 5684 |         let mut if_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5685:13
[INFO] [stdout]      |
[INFO] [stdout] 5685 |         let mut if_no_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5686:13
[INFO] [stdout]      |
[INFO] [stdout] 5686 |         let mut merge_cap = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_t`
[INFO] [stdout]     --> src/codegen.rs:5649:13
[INFO] [stdout]      |
[INFO] [stdout] 5649 |         let cranelift_t = self.tipo_a_cranelift(tipo_t);
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tipo`
[INFO] [stdout]     --> src/codegen.rs:5878:9
[INFO] [stdout]      |
[INFO] [stdout] 5878 |         tipo: &Tipo,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2695:48
[INFO] [stdout]      |
[INFO] [stdout] 2695 |             Expresion::LiteralArray(elementos, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2823:40
[INFO] [stdout]      |
[INFO] [stdout] 2823 |                     Literal::Entero(n, span) => {
[INFO] [stdout]      |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2826:41
[INFO] [stdout]      |
[INFO] [stdout] 2826 |                     Literal::Palabra(s, span) => {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3279:35
[INFO] [stdout]      |
[INFO] [stdout] 3279 |             Expresion::Ruta(path, span) => {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3286:42
[INFO] [stdout]      |
[INFO] [stdout] 3286 |             Expresion::Propagacion(expr, span) => {
[INFO] [stdout]      |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3345:48
[INFO] [stdout]      |
[INFO] [stdout] 3345 |             Expresion::Closure(params, cuerpo, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resultado_slot`
[INFO] [stdout]     --> src/codegen.rs:3449:21
[INFO] [stdout]      |
[INFO] [stdout] 3449 |                 let resultado_slot = builder.create_sized_stack_slot(
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resultado_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nombre_generico`
[INFO] [stdout]     --> src/codegen.rs:6400:51
[INFO] [stdout]      |
[INFO] [stdout] 6400 |     fn extraer_valor_generico(&self, tipo: &Tipo, nombre_generico: &str) -> Option<usize> {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nombre_generico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:7009:13
[INFO] [stdout]      |
[INFO] [stdout] 7009 |         let mut builder = ObjectBuilder::new(
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5041:13
[INFO] [stdout]      |
[INFO] [stdout] 5041 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5042:13
[INFO] [stdout]      |
[INFO] [stdout] 5042 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5664:13
[INFO] [stdout]      |
[INFO] [stdout] 5664 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5665:13
[INFO] [stdout]      |
[INFO] [stdout] 5665 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5684:13
[INFO] [stdout]      |
[INFO] [stdout] 5684 |         let mut if_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5685:13
[INFO] [stdout]      |
[INFO] [stdout] 5685 |         let mut if_no_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5686:13
[INFO] [stdout]      |
[INFO] [stdout] 5686 |         let mut merge_cap = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_t`
[INFO] [stdout]     --> src/codegen.rs:5649:13
[INFO] [stdout]      |
[INFO] [stdout] 5649 |         let cranelift_t = self.tipo_a_cranelift(tipo_t);
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tipo`
[INFO] [stdout]     --> src/codegen.rs:5878:9
[INFO] [stdout]      |
[INFO] [stdout] 5878 |         tipo: &Tipo,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nombre_generico`
[INFO] [stdout]     --> src/codegen.rs:6400:51
[INFO] [stdout]      |
[INFO] [stdout] 6400 |     fn extraer_valor_generico(&self, tipo: &Tipo, nombre_generico: &str) -> Option<usize> {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nombre_generico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:7009:13
[INFO] [stdout]      |
[INFO] [stdout] 7009 |         let mut builder = ObjectBuilder::new(
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bloque`
[INFO] [stdout]    --> src/parser/expresiones.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 let bloque = super::sentencias::parse_bloque(cursor)?;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bloque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/sentencias.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut expr_izq = parse_expresion(cursor)?;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bloque`
[INFO] [stdout]    --> src/parser/expresiones.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 let bloque = super::sentencias::parse_bloque(cursor)?;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bloque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/sentencias.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut expr_izq = parse_expresion(cursor)?;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bool_tipo`
[INFO] [stdout]    --> src/semantic.rs:872:13
[INFO] [stdout]     |
[INFO] [stdout] 872 |         let bool_tipo = Tipo::Booleano;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bool_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bool_tipo`
[INFO] [stdout]    --> src/semantic.rs:872:13
[INFO] [stdout]     |
[INFO] [stdout] 872 |         let bool_tipo = Tipo::Booleano;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bool_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2031:46
[INFO] [stdout]      |
[INFO] [stdout] 2031 |             Expresion::ArrayRelleno(elem, _, span) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2529:45
[INFO] [stdout]      |
[INFO] [stdout] 2529 |             Expresion::Lanzar(expr_interno, span) => {
[INFO] [stdout]      |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> src/codegen.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct HiloPendiente {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 75 |     nombre: String,       // __hilo_N
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inferir_tipo_rango` is never used
[INFO] [stdout]     --> src/codegen.rs:6978:8
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Codegen {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6978 |     fn inferir_tipo_rango(&self, inicio: &Expresion, variables: &HashMap<String, (cranelift_codegen::ir::StackSlot, Tipo, crate::a...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2031:46
[INFO] [stdout]      |
[INFO] [stdout] 2031 |             Expresion::ArrayRelleno(elem, _, span) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2529:45
[INFO] [stdout]      |
[INFO] [stdout] 2529 |             Expresion::Lanzar(expr_interno, span) => {
[INFO] [stdout]      |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> src/codegen.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct HiloPendiente {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 75 |     nombre: String,       // __hilo_N
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inferir_tipo_rango` is never used
[INFO] [stdout]     --> src/codegen.rs:6978:8
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Codegen {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6978 |     fn inferir_tipo_rango(&self, inicio: &Expresion, variables: &HashMap<String, (cranelift_codegen::ir::StackSlot, Tipo, crate::a...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::Programa`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::ast::Programa;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::Programa`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::ast::Programa;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1436:17
[INFO] [stdout]      |
[INFO] [stdout] 1436 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1451:21
[INFO] [stdout]      |
[INFO] [stdout] 1451 |                     deprecated: None,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1463:17
[INFO] [stdout]      |
[INFO] [stdout] 1463 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1480:25
[INFO] [stdout]      |
[INFO] [stdout] 1480 |                         deprecated: None,
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1493:17
[INFO] [stdout]      |
[INFO] [stdout] 1493 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1507:17
[INFO] [stdout]      |
[INFO] [stdout] 1507 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1436:17
[INFO] [stdout]      |
[INFO] [stdout] 1436 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1451:21
[INFO] [stdout]      |
[INFO] [stdout] 1451 |                     deprecated: None,
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1463:17
[INFO] [stdout]      |
[INFO] [stdout] 1463 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1480:25
[INFO] [stdout]      |
[INFO] [stdout] 1480 |                         deprecated: None,
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1493:17
[INFO] [stdout]      |
[INFO] [stdout] 1493 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]     --> src/lsp.rs:1507:17
[INFO] [stdout]      |
[INFO] [stdout] 1507 |                 deprecated: None,
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefijo`
[INFO] [stdout]    --> src/codegen.rs:193:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         for (prefijo, decl) in &todas {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefijo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span_dummy`
[INFO] [stdout]    --> src/codegen.rs:324:21
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 let span_dummy = crate::span::Span::vacio();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_span_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tamano`
[INFO] [stdout]     --> src/codegen.rs:1437:28
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 let (slot, tamano) = match &tipo {
[INFO] [stdout]      |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tamano`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_type`
[INFO] [stdout]     --> src/codegen.rs:1772:37
[INFO] [stdout]      |
[INFO] [stdout] 1772 | ...                   let cranelift_type = self.tipo_a_cranelift(&tipo_campo);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:1779:39
[INFO] [stdout]      |
[INFO] [stdout] 1779 |             Sentencia::Retornar(expr, span) => {
[INFO] [stdout]      |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nw_i32`
[INFO] [stdout]     --> src/codegen.rs:2327:13
[INFO] [stdout]      |
[INFO] [stdout] 2327 |         let nw_i32 = builder.ins().iconst(types::I32, 0); // placeholder, usaremos num_workers real
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nw_i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_ptr`
[INFO] [stdout]     --> src/codegen.rs:2551:17
[INFO] [stdout]      |
[INFO] [stdout] 2551 |             let null_ptr = builder.ins().iconst(types::I64, 0);
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wfs_ref`
[INFO] [stdout]     --> src/codegen.rs:2566:17
[INFO] [stdout]      |
[INFO] [stdout] 2566 |             let wfs_ref = self.module.declare_func_in_func(wfs_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wfs_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_mutex_ref`
[INFO] [stdout]     --> src/codegen.rs:2575:17
[INFO] [stdout]      |
[INFO] [stdout] 2575 |             let rel_mutex_ref = self.module.declare_func_in_func(rel_mutex_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_mutex_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefijo`
[INFO] [stdout]    --> src/codegen.rs:193:14
[INFO] [stdout]     |
[INFO] [stdout] 193 |         for (prefijo, decl) in &todas {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefijo`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span_dummy`
[INFO] [stdout]    --> src/codegen.rs:324:21
[INFO] [stdout]     |
[INFO] [stdout] 324 |                 let span_dummy = crate::span::Span::vacio();
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_span_dummy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2695:48
[INFO] [stdout]      |
[INFO] [stdout] 2695 |             Expresion::LiteralArray(elementos, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2823:40
[INFO] [stdout]      |
[INFO] [stdout] 2823 |                     Literal::Entero(n, span) => {
[INFO] [stdout]      |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2826:41
[INFO] [stdout]      |
[INFO] [stdout] 2826 |                     Literal::Palabra(s, span) => {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3279:35
[INFO] [stdout]      |
[INFO] [stdout] 3279 |             Expresion::Ruta(path, span) => {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3286:42
[INFO] [stdout]      |
[INFO] [stdout] 3286 |             Expresion::Propagacion(expr, span) => {
[INFO] [stdout]      |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3345:48
[INFO] [stdout]      |
[INFO] [stdout] 3345 |             Expresion::Closure(params, cuerpo, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resultado_slot`
[INFO] [stdout]     --> src/codegen.rs:3449:21
[INFO] [stdout]      |
[INFO] [stdout] 3449 |                 let resultado_slot = builder.create_sized_stack_slot(
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resultado_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5041:13
[INFO] [stdout]      |
[INFO] [stdout] 5041 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5042:13
[INFO] [stdout]      |
[INFO] [stdout] 5042 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tamano`
[INFO] [stdout]     --> src/codegen.rs:1437:28
[INFO] [stdout]      |
[INFO] [stdout] 1437 |                 let (slot, tamano) = match &tipo {
[INFO] [stdout]      |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tamano`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_type`
[INFO] [stdout]     --> src/codegen.rs:1772:37
[INFO] [stdout]      |
[INFO] [stdout] 1772 | ...                   let cranelift_type = self.tipo_a_cranelift(&tipo_campo);
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:1779:39
[INFO] [stdout]      |
[INFO] [stdout] 1779 |             Sentencia::Retornar(expr, span) => {
[INFO] [stdout]      |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5664:13
[INFO] [stdout]      |
[INFO] [stdout] 5664 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5665:13
[INFO] [stdout]      |
[INFO] [stdout] 5665 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5684:13
[INFO] [stdout]      |
[INFO] [stdout] 5684 |         let mut if_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5685:13
[INFO] [stdout]      |
[INFO] [stdout] 5685 |         let mut if_no_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5686:13
[INFO] [stdout]      |
[INFO] [stdout] 5686 |         let mut merge_cap = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_t`
[INFO] [stdout]     --> src/codegen.rs:5649:13
[INFO] [stdout]      |
[INFO] [stdout] 5649 |         let cranelift_t = self.tipo_a_cranelift(tipo_t);
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tipo`
[INFO] [stdout]     --> src/codegen.rs:5878:9
[INFO] [stdout]      |
[INFO] [stdout] 5878 |         tipo: &Tipo,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nw_i32`
[INFO] [stdout]     --> src/codegen.rs:2327:13
[INFO] [stdout]      |
[INFO] [stdout] 2327 |         let nw_i32 = builder.ins().iconst(types::I32, 0); // placeholder, usaremos num_workers real
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_nw_i32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `null_ptr`
[INFO] [stdout]     --> src/codegen.rs:2551:17
[INFO] [stdout]      |
[INFO] [stdout] 2551 |             let null_ptr = builder.ins().iconst(types::I64, 0);
[INFO] [stdout]      |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_null_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wfs_ref`
[INFO] [stdout]     --> src/codegen.rs:2566:17
[INFO] [stdout]      |
[INFO] [stdout] 2566 |             let wfs_ref = self.module.declare_func_in_func(wfs_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wfs_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rel_mutex_ref`
[INFO] [stdout]     --> src/codegen.rs:2575:17
[INFO] [stdout]      |
[INFO] [stdout] 2575 |             let rel_mutex_ref = self.module.declare_func_in_func(rel_mutex_id, builder.func);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rel_mutex_ref`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nombre_generico`
[INFO] [stdout]     --> src/codegen.rs:6400:51
[INFO] [stdout]      |
[INFO] [stdout] 6400 |     fn extraer_valor_generico(&self, tipo: &Tipo, nombre_generico: &str) -> Option<usize> {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nombre_generico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:7009:13
[INFO] [stdout]      |
[INFO] [stdout] 7009 |         let mut builder = ObjectBuilder::new(
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2695:48
[INFO] [stdout]      |
[INFO] [stdout] 2695 |             Expresion::LiteralArray(elementos, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2823:40
[INFO] [stdout]      |
[INFO] [stdout] 2823 |                     Literal::Entero(n, span) => {
[INFO] [stdout]      |                                        ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:2826:41
[INFO] [stdout]      |
[INFO] [stdout] 2826 |                     Literal::Palabra(s, span) => {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3279:35
[INFO] [stdout]      |
[INFO] [stdout] 3279 |             Expresion::Ruta(path, span) => {
[INFO] [stdout]      |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3286:42
[INFO] [stdout]      |
[INFO] [stdout] 3286 |             Expresion::Propagacion(expr, span) => {
[INFO] [stdout]      |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/codegen.rs:3345:48
[INFO] [stdout]      |
[INFO] [stdout] 3345 |             Expresion::Closure(params, cuerpo, span) => {
[INFO] [stdout]      |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `resultado_slot`
[INFO] [stdout]     --> src/codegen.rs:3449:21
[INFO] [stdout]      |
[INFO] [stdout] 3449 |                 let resultado_slot = builder.create_sized_stack_slot(
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resultado_slot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5041:13
[INFO] [stdout]      |
[INFO] [stdout] 5041 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5042:13
[INFO] [stdout]      |
[INFO] [stdout] 5042 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5664:13
[INFO] [stdout]      |
[INFO] [stdout] 5664 |         let mut then_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5665:13
[INFO] [stdout]      |
[INFO] [stdout] 5665 |         let mut merge_block = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5684:13
[INFO] [stdout]      |
[INFO] [stdout] 5684 |         let mut if_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5685:13
[INFO] [stdout]      |
[INFO] [stdout] 5685 |         let mut if_no_cero = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:5686:13
[INFO] [stdout]      |
[INFO] [stdout] 5686 |         let mut merge_cap = builder.create_block();
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cranelift_t`
[INFO] [stdout]     --> src/codegen.rs:5649:13
[INFO] [stdout]      |
[INFO] [stdout] 5649 |         let cranelift_t = self.tipo_a_cranelift(tipo_t);
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cranelift_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tipo`
[INFO] [stdout]     --> src/codegen.rs:5878:9
[INFO] [stdout]      |
[INFO] [stdout] 5878 |         tipo: &Tipo,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nombre_generico`
[INFO] [stdout]     --> src/codegen.rs:6400:51
[INFO] [stdout]      |
[INFO] [stdout] 6400 |     fn extraer_valor_generico(&self, tipo: &Tipo, nombre_generico: &str) -> Option<usize> {
[INFO] [stdout]      |                                                   ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nombre_generico`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/codegen.rs:7009:13
[INFO] [stdout]      |
[INFO] [stdout] 7009 |         let mut builder = ObjectBuilder::new(
[INFO] [stdout]      |             ----^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/lsp.rs:399:45
[INFO] [stdout]     |
[INFO] [stdout] 399 |             Expresion::Binaria(izq, _, der, span) => {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/lsp.rs:399:45
[INFO] [stdout]     |
[INFO] [stdout] 399 |             Expresion::Binaria(izq, _, der, span) => {
[INFO] [stdout]     |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bloque`
[INFO] [stdout]    --> src/parser/expresiones.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 let bloque = super::sentencias::parse_bloque(cursor)?;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bloque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/sentencias.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut expr_izq = parse_expresion(cursor)?;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bool_tipo`
[INFO] [stdout]    --> src/semantic.rs:872:13
[INFO] [stdout]     |
[INFO] [stdout] 872 |         let bool_tipo = Tipo::Booleano;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bool_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bloque`
[INFO] [stdout]    --> src/parser/expresiones.rs:252:21
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 let bloque = super::sentencias::parse_bloque(cursor)?;
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bloque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser/sentencias.rs:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     let mut expr_izq = parse_expresion(cursor)?;
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2031:46
[INFO] [stdout]      |
[INFO] [stdout] 2031 |             Expresion::ArrayRelleno(elem, _, span) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2529:45
[INFO] [stdout]      |
[INFO] [stdout] 2529 |             Expresion::Lanzar(expr_interno, span) => {
[INFO] [stdout]      |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bool_tipo`
[INFO] [stdout]    --> src/semantic.rs:872:13
[INFO] [stdout]     |
[INFO] [stdout] 872 |         let bool_tipo = Tipo::Booleano;
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bool_tipo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]  --> src/ast.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Programa {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 6 |     pub declaraciones: Vec<Declaracion>,
[INFO] [stdout] 7 |     pub span: Span,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Programa` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ParametroGenerico {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParametroGenerico` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/ast.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Region { nombre: String, cuerpo: Vec<Sentencia>, span: Span },
[INFO] [stdout]     |     ------   ^^^^^^                                  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Sentencia` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct Seleccionar {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 124 |     pub ramas: Vec<RamaSeleccionar>,
[INFO] [stdout] 125 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Seleccionar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |     Comodin(Span),
[INFO] [stdout]     |     ------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatronMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 263 -     Comodin(Span),
[INFO] [stdout] 263 +     Comodin(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/ast.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |     ArrayRelleno(Box<Expresion>, usize, Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout]     |     ------------                 ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expresion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 284 -     ArrayRelleno(Box<Expresion>, usize, Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout] 284 +     ArrayRelleno(Box<Expresion>, (), Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Puntero` is never constructed
[INFO] [stdout]    --> src/ast.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum Tipo {
[INFO] [stdout]     |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 431 |     Puntero(Box<Tipo>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tipo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 460 | pub struct Campo {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Campo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub struct CampoBits {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 473 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CampoBits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub struct Variante {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Variante` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub struct ModuloDecl {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModuloDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:504:9
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub struct UsarDecl {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 503 |     pub ruta: Vec<String>,
[INFO] [stdout] 504 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UsarDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub struct FirmaMetodo {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FirmaMetodo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Backendmejia` is never used
[INFO] [stdout]   --> src/backend.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Backendmejia {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `alineacion` are never read
[INFO] [stdout]   --> src/codegen.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LayoutStruct {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 19 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 20 |     pub tamano: u32,
[INFO] [stdout] 21 |     pub alineacion: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `alineacion`, `tag_tamano`, and `tipos_datos` are never read
[INFO] [stdout]   --> src/codegen.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct LayoutEnum {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 35 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 36 |     pub tamano: u32,
[INFO] [stdout] 37 |     pub alineacion: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub tag_tamano: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub tipos_datos: HashMap<String, Vec<Tipo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutEnum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> src/codegen.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct HiloPendiente {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 75 |     nombre: String,       // __hilo_N
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inferir_tipo_rango` is never used
[INFO] [stdout]     --> src/codegen.rs:6978:8
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Codegen {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6978 |     fn inferir_tipo_rango(&self, inicio: &Expresion, variables: &HashMap<String, (cranelift_codegen::ir::StackSlot, Tipo, crate::a...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Warning` is never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum CategoriaError {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Warning,     // W001-W099
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CategoriaError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_vacio` and `cantidad` are never used
[INFO] [stdout]    --> src/error.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Errores {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn esta_vacio(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn cantidad(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `token_inesperado` is never used
[INFO] [stdout]    --> src/error.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn token_inesperado(span: Span, token: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fin_archivo_inesperado` is never used
[INFO] [stdout]    --> src/error.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn fin_archivo_inesperado(span: Span) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tipo_no_encontrado` is never used
[INFO] [stdout]    --> src/error.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn tipo_no_encontrado(span: Span, tipo: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `funcion_ffi_no_encontrada` is never used
[INFO] [stdout]    --> src/error.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn funcion_ffi_no_encontrada(span: Span, nombre: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/futuros.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PuntoSuspension {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PuntoSuspension` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `parametros`, `retorno`, and `span` are never read
[INFO] [stdout]   --> src/futuros.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct AnalisisFuturo {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 36 |     /// Nombre de la función original
[INFO] [stdout] 37 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub parametros: Vec<Parametro>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     /// Tipo de retorno
[INFO] [stdout] 47 |     pub retorno: Option<Tipo>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalisisFuturo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `firma_a_signature_info` is never used
[INFO] [stdout]     --> src/lsp.rs:1076:8
[INFO] [stdout]      |
[INFO] [stdout]  606 | impl Backend {
[INFO] [stdout]      | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     fn firma_a_signature_info(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `span_desde` and `posicion` are never used
[INFO] [stdout]   --> src/parser/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ParserCursor {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn span_desde(&self, inicio_pos: usize) -> Span {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn posicion(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `token_inesperado` is never used
[INFO] [stdout]   --> src/parser/errores.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ErrorSintaxis {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn token_inesperado(span: Span, esperado: &str, encontrado: Option<&str>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre_modulo` is never read
[INFO] [stdout]   --> src/resolver.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnidadCompilacion {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub nombre_modulo: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnidadCompilacion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/semantic.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct InfoVariable {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buscar_tipo` is never used
[INFO] [stdout]    --> src/semantic.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl Entorno {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn buscar_tipo(&self, nombre: &str) -> Option<&Tipo> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct InfoStruct {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 216 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct InfoEnum {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 236 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoEnum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct InfoRasgo {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 245 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 246 |     pub metodos: Vec<crate::ast::FirmaMetodo>,
[INFO] [stdout] 247 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoRasgo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAVE_SOBREESCRITA` is never used
[INFO] [stdout]   --> src/semantic.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const CLAVE_SOBREESCRITA: u32 = 100;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2031:46
[INFO] [stdout]      |
[INFO] [stdout] 2031 |             Expresion::ArrayRelleno(elem, _, span) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]     --> src/semantic.rs:2529:45
[INFO] [stdout]      |
[INFO] [stdout] 2529 |             Expresion::Lanzar(expr_interno, span) => {
[INFO] [stdout]      |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]  --> src/ast.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Programa {
[INFO] [stdout]   |            -------- field in this struct
[INFO] [stdout] 6 |     pub declaraciones: Vec<Declaracion>,
[INFO] [stdout] 7 |     pub span: Span,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Programa` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ParametroGenerico {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParametroGenerico` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/ast.rs:107:14
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Region { nombre: String, cuerpo: Vec<Sentencia>, span: Span },
[INFO] [stdout]     |     ------   ^^^^^^                                  ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Sentencia` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct Seleccionar {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 124 |     pub ramas: Vec<RamaSeleccionar>,
[INFO] [stdout] 125 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Seleccionar` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:263:13
[INFO] [stdout]     |
[INFO] [stdout] 263 |     Comodin(Span),
[INFO] [stdout]     |     ------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PatronMatch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 263 -     Comodin(Span),
[INFO] [stdout] 263 +     Comodin(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/ast.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |     ArrayRelleno(Box<Expresion>, usize, Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout]     |     ------------                 ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expresion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 284 -     ArrayRelleno(Box<Expresion>, usize, Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout] 284 +     ArrayRelleno(Box<Expresion>, (), Span), // todos expr, tamaño (rellenado por semántica)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Puntero` is never constructed
[INFO] [stdout]    --> src/ast.rs:431:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum Tipo {
[INFO] [stdout]     |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 431 |     Puntero(Box<Tipo>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tipo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:463:9
[INFO] [stdout]     |
[INFO] [stdout] 460 | pub struct Campo {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Campo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:473:9
[INFO] [stdout]     |
[INFO] [stdout] 469 | pub struct CampoBits {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 473 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CampoBits` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:489:9
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub struct Variante {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 489 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Variante` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:497:9
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub struct ModuloDecl {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 497 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModuloDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:504:9
[INFO] [stdout]     |
[INFO] [stdout] 502 | pub struct UsarDecl {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 503 |     pub ruta: Vec<String>,
[INFO] [stdout] 504 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UsarDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast.rs:522:9
[INFO] [stdout]     |
[INFO] [stdout] 518 | pub struct FirmaMetodo {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FirmaMetodo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Backendmejia` is never used
[INFO] [stdout]   --> src/backend.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Backendmejia {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `alineacion` are never read
[INFO] [stdout]   --> src/codegen.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct LayoutStruct {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 19 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 20 |     pub tamano: u32,
[INFO] [stdout] 21 |     pub alineacion: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `alineacion`, `tag_tamano`, and `tipos_datos` are never read
[INFO] [stdout]   --> src/codegen.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct LayoutEnum {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 35 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 36 |     pub tamano: u32,
[INFO] [stdout] 37 |     pub alineacion: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 38 |     pub tag_tamano: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub tipos_datos: HashMap<String, Vec<Tipo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LayoutEnum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre` is never read
[INFO] [stdout]   --> src/codegen.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct HiloPendiente {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 75 |     nombre: String,       // __hilo_N
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inferir_tipo_rango` is never used
[INFO] [stdout]     --> src/codegen.rs:6978:8
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Codegen {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 6978 |     fn inferir_tipo_rango(&self, inicio: &Expresion, variables: &HashMap<String, (cranelift_codegen::ir::StackSlot, Tipo, crate::a...
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Warning` is never constructed
[INFO] [stdout]   --> src/error.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum CategoriaError {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 13 |     Warning,     // W001-W099
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CategoriaError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `esta_vacio` and `cantidad` are never used
[INFO] [stdout]    --> src/error.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl Errores {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn esta_vacio(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn cantidad(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `token_inesperado` is never used
[INFO] [stdout]    --> src/error.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn token_inesperado(span: Span, token: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fin_archivo_inesperado` is never used
[INFO] [stdout]    --> src/error.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub fn fin_archivo_inesperado(span: Span) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tipo_no_encontrado` is never used
[INFO] [stdout]    --> src/error.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 |     pub fn tipo_no_encontrado(span: Span, tipo: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `funcion_ffi_no_encontrada` is never used
[INFO] [stdout]    --> src/error.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub fn funcion_ffi_no_encontrada(span: Span, nombre: &str) -> ErrorCompilador {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/futuros.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PuntoSuspension {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PuntoSuspension` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre`, `parametros`, `retorno`, and `span` are never read
[INFO] [stdout]   --> src/futuros.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct AnalisisFuturo {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 36 |     /// Nombre de la función original
[INFO] [stdout] 37 |     pub nombre: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub parametros: Vec<Parametro>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 46 |     /// Tipo de retorno
[INFO] [stdout] 47 |     pub retorno: Option<Tipo>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub span: Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalisisFuturo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `firma_a_signature_info` is never used
[INFO] [stdout]     --> src/lsp.rs:1076:8
[INFO] [stdout]      |
[INFO] [stdout]  606 | impl Backend {
[INFO] [stdout]      | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1076 |     fn firma_a_signature_info(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `span_desde` and `posicion` are never used
[INFO] [stdout]   --> src/parser/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ParserCursor {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn span_desde(&self, inicio_pos: usize) -> Span {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn posicion(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `token_inesperado` is never used
[INFO] [stdout]   --> src/parser/errores.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ErrorSintaxis {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn token_inesperado(span: Span, esperado: &str, encontrado: Option<&str>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `nombre_modulo` is never read
[INFO] [stdout]   --> src/resolver.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct UnidadCompilacion {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub nombre_modulo: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnidadCompilacion` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/semantic.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct InfoVariable {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buscar_tipo` is never used
[INFO] [stdout]    --> src/semantic.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl Entorno {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn buscar_tipo(&self, nombre: &str) -> Option<&Tipo> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:216:9
[INFO] [stdout]     |
[INFO] [stdout] 215 | pub struct InfoStruct {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 216 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoStruct` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct InfoEnum {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 236 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoEnum` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `nombre` and `span` are never read
[INFO] [stdout]    --> src/semantic.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub struct InfoRasgo {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 245 |     pub nombre: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 246 |     pub metodos: Vec<crate::ast::FirmaMetodo>,
[INFO] [stdout] 247 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InfoRasgo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLAVE_SOBREESCRITA` is never used
[INFO] [stdout]   --> src/semantic.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const CLAVE_SOBREESCRITA: u32 = 100;
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965", kill_on_drop: false }`
[INFO] [stdout] 1b2cdf39a16ea5abaf44d864ded8c326d78cc0e52072dc0fb9bc21f24115d965
