src/selection.rs:214:20 | 214 | if let Some(first_ref) = self.first.clone() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: see issue #53667 https://github.com/rust-lang/rust/issues/53667 for more information For more information about this error, try `rustc --explain E0658`. error: could not compile `godot-rust-utils` (lib) due to 1 previous error error: Recipe `build-debug` failed on line 7 with exit code 101 jotalea ~ λ vi src/selection.rs jotalea ~ λ sed -n "202,232p" src/selection.rs # i did these changes #[func] /// Like [method Selection.map_generic], but returns another [Selection]. /// This implies `method` needs to return a [Node2D]. fn map(&self, method: Callable) -> Gd { let mut first: Option = None; let inner: HashSet = self .inner .clone() .iter() .flat_map(|path_ref| { let node_ref = path_ref.clone().into_ref(); let new_node_ref = method.call(vslice![node_ref]).to::>(); if self.first .as_ref() .and_then(|node_ref| node_ref.clone().into_ref()) .map_or(false, |orig_first| Some(orig_first) == node_ref) { first = Some(PathRef::from_ref(new_node_ref.clone())); } Some(PathRef::from_ref(new_node_ref)) /* let node_ref = path_ref.clone().into_ref(); let new_node_ref = method.call(vslice![node_ref]).to::>(); if let Some(first_ref) = self.first.clone() && first_ref.clone().into_ref() == node_ref { first = Some(PathRef::from_ref(new_node_ref.clone())); } Some(PathRef::from_ref(new_node_ref)) */ jotalea ~ λ vi justfile # i disabled Android crosscompilation because i won't use it jotalea ~ λ just build-debug # Clear previous build dir rm -r bin/debug/ 2> /dev/null || true # Setup artifact dir mkdir --parents bin/debug/{linux,windows,android} # Linux build cargo build --target x86_64-unknown-linux-gnu Compiling godot-bindings v0.4.4 ... Compiling godot-cell v0.4.4 Compiling godot-ffi v0.4.4 Compiling godot-core v0.4.4 Compiling godot v0.4.4 Compiling godot-rust-utils v0.1.0 (/home/jotalea/Descargas/godot-dash/rust) Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.48s mv target/x86_64-unknown-linux-gnu/debug/libgodot_rust_utils.so bin/debug/linux/ ... # Cleanup cargo clean Removed 2637 files, 1.3GiB total ``` --->

fixing something

16/03/2026 18:07
```bash
jotalea ~ λ paru -S godot rustup just git-lfs
[sudo] contraseña para jotalea: 
advertencia: godot-4.6.1-1 está actualizado -- reinstalándolo
advertencia: just-1.46.0-1 está actualizado -- reinstalándolo
advertencia: git-lfs-3.7.1-1 está actualizado -- reinstalándolo
resolviendo dependencias...
buscando conflictos entre paquetes...

Paquete (4)    Versión antigua  Versión nueva  Diferencia neta

extra/git-lfs  3.7.1-1          3.7.1-1               0,00 MiB
extra/godot    4.6.1-1          4.6.1-1               0,00 MiB
extra/just     1.46.0-1         1.46.0-1              0,00 MiB
extra/rustup                    1.28.2-5             11,46 MiB

Tamaño total de la instalación:  188,92 MiB
Tamaño neto tras actualizar:      11,46 MiB

:: ¿Continuar con la instalación? [S/n] 
(4/4) comprobando las claves del depósito
(4/4) verificando la integridad de los paquetes
(4/4) cargando los archivos de los paquetes
(4/4) comprobando conflictos entre archivos
:: Procesando los cambios de los paquetes...
(1/4) reinstalando godot
(2/4) instalando rustup
(3/4) reinstalando just
(4/4) reinstalando git-lfs
:: Ejecutando los «hooks» de posinstalación...
(1/4) Updating the MIME type database...
(2/4) Arming ConditionNeedsUpdate...
(3/4) Checking which packages need to be rebuilt
(4/4) Updating the desktop file MIME type cache...
jotalea ~ λ rustup install 1.87.0 # targeted by godot-rust-utils
info: syncing channel updates for '1.87.0-x86_64-unknown-linux-gnu'
info: latest update on 2025-05-15, rust version 1.87.0 (17067e9ac 2025-05-09)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'

  1.87.0-x86_64-unknown-linux-gnu installed - rustc 1.87.0 (17067e9ac 2025-05-09)

info: default toolchain set to '1.87.0-x86_64-unknown-linux-gnu'
info: self-update is disabled for this build of rustup
info: any updates to rustup will need to be fetched with your system package manager
jotalea ~ λ rustup target add x86_64-pc-windows-gnu # for cross compiling
info: downloading component 'rust-std' for 'x86_64-pc-windows-gnu'
info: installing component 'rust-std' for 'x86_64-pc-windows-gnu'
jotalea ~ λ cd Descargas
jotalea ~ λ git clone https://codeberg.org/godot-dash/godot-dash.git
Clonando en 'godot-dash'...
remote: Enumerating objects: 21418, done.
remote: Counting objects: 100% (7605/7605), done.
remote: Compressing objects: 100% (1477/1477), done.
remote: Total 21418 (delta 6921), reused 6601 (delta 6096), pack-reused 13813 (from 1)
Recibiendo objetos: 100% (21418/21418), 192.81 MiB | 1.62 MiB/s, listo.
Resolviendo deltas: 100% (16237/16237), listo.
jotalea ~ λ cd godot-dash/rust/
jotalea ~ λ just build-debug # it errors out
# Clear previous build dir
rm -r bin/debug/ 2> /dev/null || true
# Setup artifact dir
mkdir --parents bin/debug/{linux,windows,android}
# Linux build
cargo build --target x86_64-unknown-linux-gnu
    Updating crates.io index
    ...
    Downloaded 25 crates (6.9MiB) in 0.68s (largest was `gdextension-api` at 2.9MiB)
    ...
    Compiling godot v0.4.4
    Compiling godot-rust-utils v0.1.0 (/home/jotalea/Descargas/godot-dash/rust)
error[E0658]: `let` expressions in this position are unstable
   --> src/selection.rs:214:20
    |
214 |                 if let Some(first_ref) = self.first.clone()
    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #53667 https://github.com/rust-lang/rust/issues/53667 for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `godot-rust-utils` (lib) due to 1 previous error
error: Recipe `build-debug` failed on line 7 with exit code 101
jotalea ~ λ vi src/selection.rs
jotalea ~ λ sed -n "202,232p" src/selection.rs # i did these changes
    #[func]
    /// Like [method Selection.map_generic], but returns another [Selection].
    /// This implies `method` needs to return a [Node2D].
    fn map(&self, method: Callable) -> Gd<Self> {
        let mut first: Option<PathRef> = None;
        let inner: HashSet<PathRef> = self
            .inner
            .clone()
            .iter()
            .flat_map(|path_ref| {
                let node_ref = path_ref.clone().into_ref();
                let new_node_ref = method.call(vslice![node_ref]).to::<Gd<Node2D>>();

                if self.first
                    .as_ref()
                    .and_then(|node_ref| node_ref.clone().into_ref())
                    .map_or(false, |orig_first| Some(orig_first) == node_ref)
                {
                    first = Some(PathRef::from_ref(new_node_ref.clone()));
                }
                Some(PathRef::from_ref(new_node_ref))
/*
                let node_ref = path_ref.clone().into_ref();
                let new_node_ref = method.call(vslice![node_ref]).to::<Gd<Node2D>>();
                if let Some(first_ref) = self.first.clone()
                    && first_ref.clone().into_ref() == node_ref
                {
                    first = Some(PathRef::from_ref(new_node_ref.clone()));
                }
                Some(PathRef::from_ref(new_node_ref))
*/
jotalea ~ λ vi justfile # i disabled Android crosscompilation because i won't use it
jotalea ~ λ just build-debug
# Clear previous build dir
rm -r bin/debug/ 2> /dev/null || true
# Setup artifact dir
mkdir --parents bin/debug/{linux,windows,android}
# Linux build
cargo build --target x86_64-unknown-linux-gnu
   Compiling godot-bindings v0.4.4
   ...
   Compiling godot-cell v0.4.4
   Compiling godot-ffi v0.4.4
   Compiling godot-core v0.4.4
   Compiling godot v0.4.4
   Compiling godot-rust-utils v0.1.0 (/home/jotalea/Descargas/godot-dash/rust)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.48s
mv target/x86_64-unknown-linux-gnu/debug/libgodot_rust_utils.so bin/debug/linux/
...
# Cleanup
cargo clean
     Removed 2637 files, 1.3GiB total
```