[INFO] cloning repository https://github.com/josemam/MH-practicas [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/josemam/MH-practicas" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjosemam%2FMH-practicas", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjosemam%2FMH-practicas'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1d66d737affc69aa143d834c71ab045921a27d3a [INFO] testing josemam/MH-practicas against 1.60.0 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjosemam%2FMH-practicas" "/workspace/builds/worker-20/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-20/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/josemam/MH-practicas on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/josemam/MH-practicas [INFO] finished tweaking git repo https://github.com/josemam/MH-practicas [INFO] tweaked toml for git repo https://github.com/josemam/MH-practicas written to /workspace/builds/worker-20/source/Cargo.toml [INFO] crate git repo https://github.com/josemam/MH-practicas already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ordered-float v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2a3e84e2a541635d48a731607c5ff0a99c82bd34313f845f53daffa1a2794187 [INFO] running `Command { std: "docker" "start" "-a" "2a3e84e2a541635d48a731607c5ff0a99c82bd34313f845f53daffa1a2794187", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2a3e84e2a541635d48a731607c5ff0a99c82bd34313f845f53daffa1a2794187", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a3e84e2a541635d48a731607c5ff0a99c82bd34313f845f53daffa1a2794187", kill_on_drop: false }` [INFO] [stdout] 2a3e84e2a541635d48a731607c5ff0a99c82bd34313f845f53daffa1a2794187 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4f7f8ec54b195a8a65427abb27fd858bb324ea56356c381ee22b9bfde9d9f1f4 [INFO] running `Command { std: "docker" "start" "-a" "4f7f8ec54b195a8a65427abb27fd858bb324ea56356c381ee22b9bfde9d9f1f4", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.42 [INFO] [stderr] Compiling num-traits v0.2.4 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling either v1.5.0 [INFO] [stderr] Compiling bitflags v1.0.3 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling strsim v0.7.0 [INFO] [stderr] Compiling byteorder v1.2.3 [INFO] [stderr] Compiling unreachable v0.1.1 [INFO] [stderr] Compiling textwrap v0.9.0 [INFO] [stderr] Compiling itertools v0.7.8 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling time v0.1.40 [INFO] [stderr] Compiling clap v2.31.2 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling ordered-float v0.5.0 [INFO] [stderr] Compiling Prácticas v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:81 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:125 [INFO] [stdout] | [INFO] [stdout] 130 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:182 [INFO] [stdout] | [INFO] [stdout] 130 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolB... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:246 [INFO] [stdout] | [INFO] [stdout] 130 | ... Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &dyn Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:81 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:125 [INFO] [stdout] | [INFO] [stdout] 253 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:182 [INFO] [stdout] | [INFO] [stdout] 253 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:81 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:125 [INFO] [stdout] | [INFO] [stdout] 263 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:85 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:130 [INFO] [stdout] | [INFO] [stdout] 69 | ... &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f6... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:182 [INFO] [stdout] | [INFO] [stdout] 263 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:187 [INFO] [stdout] | [INFO] [stdout] 69 | ...64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &dyn Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:141 [INFO] [stdout] | [INFO] [stdout] 119 | ...[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &dyn Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:181 [INFO] [stdout] | [INFO] [stdout] 119 | ...sca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:144:88 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:144:138 [INFO] [stdout] | [INFO] [stdout] 144 | ...ut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &dyn Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_EVALUACIONES` [INFO] [stdout] --> src/funciones_practica1.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | const MAX_EVALUACIONES: usize = 15000; // Tope de evaluaciones de la función objetivo antes de terminar [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_CICLOS` [INFO] [stdout] --> src/funciones_practica1.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | const MAX_CICLOS: usize = 20; // Tope de veces que se explorará cada atributo sin que haya mejora [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_desde` [INFO] [stdout] --> src/funciones_practica1.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn busqueda_local_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local` [INFO] [stdout] --> src/funciones_practica1.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn busqueda_local(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_mut2_desde` [INFO] [stdout] --> src/funciones_practica1.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn busqueda_local_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_mut2` [INFO] [stdout] --> src/funciones_practica1.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn busqueda_local_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_ordenada_desde` [INFO] [stdout] --> src/funciones_practica1.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_desde` [INFO] [stdout] --> src/funciones_practica1.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn busqueda_local_orden_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden` [INFO] [stdout] --> src/funciones_practica1.rs:380:8 [INFO] [stdout] | [INFO] [stdout] 380 | pub fn busqueda_local_orden(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_mut2_desde` [INFO] [stdout] --> src/funciones_practica1.rs:387:8 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn busqueda_local_orden_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_mut2` [INFO] [stdout] --> src/funciones_practica1.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn busqueda_local_orden_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.97s [INFO] running `Command { std: "docker" "inspect" "4f7f8ec54b195a8a65427abb27fd858bb324ea56356c381ee22b9bfde9d9f1f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4f7f8ec54b195a8a65427abb27fd858bb324ea56356c381ee22b9bfde9d9f1f4", kill_on_drop: false }` [INFO] [stdout] 4f7f8ec54b195a8a65427abb27fd858bb324ea56356c381ee22b9bfde9d9f1f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 75a7479ea2ff6de628306327cad5c06acc8ed3e39533bdad6e07e180e3d2c11a [INFO] running `Command { std: "docker" "start" "-a" "75a7479ea2ff6de628306327cad5c06acc8ed3e39533bdad6e07e180e3d2c11a", kill_on_drop: false }` [INFO] [stderr] Compiling Prácticas v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:85 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:130 [INFO] [stdout] | [INFO] [stdout] 69 | ... &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f6... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:69:187 [INFO] [stdout] | [INFO] [stdout] 69 | ...64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &dyn Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:87 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:141 [INFO] [stdout] | [INFO] [stdout] 119 | ...[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, ... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &dyn Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:119:181 [INFO] [stdout] | [INFO] [stdout] 119 | ...sca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:144:88 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica3.rs:144:138 [INFO] [stdout] | [INFO] [stdout] 144 | ...ut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &dyn Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/knn/mod.rs:123:7 [INFO] [stdout] | [INFO] [stdout] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] | ^ [INFO] [stdout] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stdout] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/evaluacion_pesos.rs:86:25 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:66 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:59:117 [INFO] [stdout] | [INFO] [stdout] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:75:98 [INFO] [stdout] | [INFO] [stdout] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica1.rs:317:98 [INFO] [stdout] | [INFO] [stdout] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:81 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:125 [INFO] [stdout] | [INFO] [stdout] 130 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:182 [INFO] [stdout] | [INFO] [stdout] 130 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolB... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:130:246 [INFO] [stdout] | [INFO] [stdout] 130 | ... Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &dyn Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:81 [INFO] [stdout] | [INFO] [stdout] 253 | pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:125 [INFO] [stdout] | [INFO] [stdout] 253 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:253:182 [INFO] [stdout] | [INFO] [stdout] 253 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:81 [INFO] [stdout] | [INFO] [stdout] 263 | pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:125 [INFO] [stdout] | [INFO] [stdout] 263 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/funciones_practica2.rs:263:182 [INFO] [stdout] | [INFO] [stdout] 263 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_EVALUACIONES` [INFO] [stdout] --> src/funciones_practica1.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | const MAX_EVALUACIONES: usize = 15000; // Tope de evaluaciones de la función objetivo antes de terminar [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MAX_CICLOS` [INFO] [stdout] --> src/funciones_practica1.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | const MAX_CICLOS: usize = 20; // Tope de veces que se explorará cada atributo sin que haya mejora [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_desde` [INFO] [stdout] --> src/funciones_practica1.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn busqueda_local_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local` [INFO] [stdout] --> src/funciones_practica1.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn busqueda_local(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_mut2_desde` [INFO] [stdout] --> src/funciones_practica1.rs:302:8 [INFO] [stdout] | [INFO] [stdout] 302 | pub fn busqueda_local_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_mut2` [INFO] [stdout] --> src/funciones_practica1.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 308 | pub fn busqueda_local_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_ordenada_desde` [INFO] [stdout] --> src/funciones_practica1.rs:317:8 [INFO] [stdout] | [INFO] [stdout] 317 | pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_desde` [INFO] [stdout] --> src/funciones_practica1.rs:374:8 [INFO] [stdout] | [INFO] [stdout] 374 | pub fn busqueda_local_orden_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden` [INFO] [stdout] --> src/funciones_practica1.rs:380:8 [INFO] [stdout] | [INFO] [stdout] 380 | pub fn busqueda_local_orden(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_mut2_desde` [INFO] [stdout] --> src/funciones_practica1.rs:387:8 [INFO] [stdout] | [INFO] [stdout] 387 | pub fn busqueda_local_orden_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `busqueda_local_orden_mut2` [INFO] [stdout] --> src/funciones_practica1.rs:394:8 [INFO] [stdout] | [INFO] [stdout] 394 | pub fn busqueda_local_orden_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 6 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.74s [INFO] running `Command { std: "docker" "inspect" "75a7479ea2ff6de628306327cad5c06acc8ed3e39533bdad6e07e180e3d2c11a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "75a7479ea2ff6de628306327cad5c06acc8ed3e39533bdad6e07e180e3d2c11a", kill_on_drop: false }` [INFO] [stdout] 75a7479ea2ff6de628306327cad5c06acc8ed3e39533bdad6e07e180e3d2c11a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-20/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1cfdd2bf9cc592c95477dc4b89efc985409f29b8b6c7c396396729cc7881c3b4 [INFO] running `Command { std: "docker" "start" "-a" "1cfdd2bf9cc592c95477dc4b89efc985409f29b8b6c7c396396729cc7881c3b4", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/knn/mod.rs:123:7 [INFO] [stderr] | [INFO] [stderr] 123 | (distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stderr] | ^ [INFO] [stderr] 124 | + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..])) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 123 ~ distancia_cuadrado_vf(&a.atributos_f, &b.atributos_f, &w[0..num_flotantes]) [INFO] [stderr] 124 ~ + distancia_cuadrado_vc(&a.atributos_c, &b.atributos_c, &w[num_flotantes..]) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/evaluacion_pesos.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 86 - pub fn ffcv(algoritmo: &Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stderr] 86 + pub fn ffcv(algoritmo: &dyn Fn(&[Dato], &mut Isaac64Rng) -> Vec, datos: &[Dato], seed: &[u64]){ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica1.rs:59:66 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &dyn Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica1.rs:59:117 [INFO] [stderr] | [INFO] [stderr] 59 | ...Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 59 - pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 59 + pub fn combinar(entrenamiento: &[Dato], algoritmo_1: &Fn(&[Dato], &mut Trng) -> Vec, algoritmo_bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica1.rs:75:98 [INFO] [stderr] | [INFO] [stderr] 75 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 75 - pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stderr] 75 + pub fn busqueda_local_generica_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica1.rs:317:98 [INFO] [stderr] | [INFO] [stderr] 317 | ...trenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, r... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 317 - pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stderr] 317 + pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, max_evaluaciones: usize, max_ciclos: usize, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:69:85 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:69:130 [INFO] [stderr] | [INFO] [stderr] 69 | ... &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f6... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:69:187 [INFO] [stderr] | [INFO] [stderr] 69 | ...64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 69 - pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] 69 + pub fn simulated_annealing_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, enfriamiento: &dyn Fn(f64, f64, f64, usize) -> f64, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:119:87 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:119:141 [INFO] [stderr] | [INFO] [stderr] 119 | ...[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, ... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &dyn Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:119:181 [INFO] [stderr] | [INFO] [stderr] 119 | ...sca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 119 - pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 119 + pub fn iterated_local_search_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, mutacion_brusca: &Fn(&[f64], &mut Trng) -> Vec, bl: &dyn Fn(&[Dato], &[f64], &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:144:88 [INFO] [stderr] | [INFO] [stderr] 144 | pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stderr] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &dyn Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica3.rs:144:138 [INFO] [stderr] | [INFO] [stderr] 144 | ...ut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 144 - pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stderr] 144 + pub fn differential_evolution_general(entrenamiento: &[Dato], gen_inicial: &Fn(&[Dato], &mut Trng) -> Vec, operador_de: &dyn Fn(&PoblacionDE, usize, &mut Trng) -> (Option, Vec), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MAX_EVALUACIONES` [INFO] [stderr] --> src/funciones_practica1.rs:43:1 [INFO] [stderr] | [INFO] [stderr] 43 | const MAX_EVALUACIONES: usize = 15000; // Tope de evaluaciones de la función objetivo antes de terminar [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant is never used: `MAX_CICLOS` [INFO] [stderr] --> src/funciones_practica1.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | const MAX_CICLOS: usize = 20; // Tope de veces que se explorará cada atributo sin que haya mejora [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_desde` [INFO] [stderr] --> src/funciones_practica1.rs:130:8 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn busqueda_local_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local` [INFO] [stderr] --> src/funciones_practica1.rs:136:8 [INFO] [stderr] | [INFO] [stderr] 136 | pub fn busqueda_local(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_mut2_desde` [INFO] [stderr] --> src/funciones_practica1.rs:302:8 [INFO] [stderr] | [INFO] [stderr] 302 | pub fn busqueda_local_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_mut2` [INFO] [stderr] --> src/funciones_practica1.rs:308:8 [INFO] [stderr] | [INFO] [stderr] 308 | pub fn busqueda_local_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_ordenada_desde` [INFO] [stderr] --> src/funciones_practica1.rs:317:8 [INFO] [stderr] | [INFO] [stderr] 317 | pub fn busqueda_local_ordenada_desde(entrenamiento: &[Dato], w_base: &[f64], vecino: &Fn(&[f64], usize, &mut Trng) -> Vec... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_orden_desde` [INFO] [stderr] --> src/funciones_practica1.rs:374:8 [INFO] [stderr] | [INFO] [stderr] 374 | pub fn busqueda_local_orden_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_orden` [INFO] [stderr] --> src/funciones_practica1.rs:380:8 [INFO] [stderr] | [INFO] [stderr] 380 | pub fn busqueda_local_orden(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_orden_mut2_desde` [INFO] [stderr] --> src/funciones_practica1.rs:387:8 [INFO] [stderr] | [INFO] [stderr] 387 | pub fn busqueda_local_orden_mut2_desde(entrenamiento: &[Dato], w_base: &[f64], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `busqueda_local_orden_mut2` [INFO] [stderr] --> src/funciones_practica1.rs:394:8 [INFO] [stderr] | [INFO] [stderr] 394 | pub fn busqueda_local_orden_mut2(entrenamiento: &[Dato], rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:130:81 [INFO] [stderr] | [INFO] [stderr] 130 | pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:130:125 [INFO] [stderr] | [INFO] [stderr] 130 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:130:182 [INFO] [stderr] | [INFO] [stderr] 130 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolB... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:130:246 [INFO] [stderr] | [INFO] [stderr] 130 | ... Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 130 - pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] 130 + pub fn memetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, op_memetica: (usize, &dyn Fn(&[Dato], &mut ArbolBinario, &mut Trng) -> usize), rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:253:81 [INFO] [stderr] | [INFO] [stderr] 253 | pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:253:125 [INFO] [stderr] | [INFO] [stderr] 253 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:253:182 [INFO] [stderr] | [INFO] [stderr] 253 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 253 - pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 253 + pub fn genetico_generacional(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:263:81 [INFO] [stderr] | [INFO] [stderr] 263 | pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &dyn Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:263:125 [INFO] [stderr] | [INFO] [stderr] 263 | ...Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> V... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &dyn Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/funciones_practica2.rs:263:182 [INFO] [stderr] | [INFO] [stderr] 263 | ... &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 263 - pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] 263 + pub fn genetico_estacionario(entrenamiento: &[Dato], gen_iniciales: &Fn(&[Dato], &mut Trng) -> Vec, cruce: &Fn(&[f64], &[f64], &mut Trng) -> Vec>, vecino: &dyn Fn(&[f64], usize, &mut Trng) -> Vec, rng: &mut Trng) -> Vec { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `Prácticas` (bin "practica1" test) generated 6 warnings [INFO] [stderr] warning: `Prácticas` (bin "practica3" test) generated 25 warnings (6 duplicates) [INFO] [stderr] warning: `Prácticas` (bin "practica2" test) generated 16 warnings (6 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/practica1-d0253fc6a4be2571) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/practica2-9bcbe86f618534a8) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/practica3-89ea3c330399e70c) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1cfdd2bf9cc592c95477dc4b89efc985409f29b8b6c7c396396729cc7881c3b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1cfdd2bf9cc592c95477dc4b89efc985409f29b8b6c7c396396729cc7881c3b4", kill_on_drop: false }` [INFO] [stdout] 1cfdd2bf9cc592c95477dc4b89efc985409f29b8b6c7c396396729cc7881c3b4